学习PHP 301跳转的方法
本节内容:
php实现的301跳转。
什么是301转向?
301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。
为什么要做网址转向?
比如,为保护版权,你拥有不同TLD的多个域名:
company.net
company.org
company.com.cn
company.cn
等。
很自然这些域名全部指向一个网站。如用company.com为主域名,其它域名就可以转向到company.com。
或注册了公司全称域名longcompanyname.com,但太长 ,你也注册了缩写域名方便用户记住lcn.com,其中一个做主域名,另一个就可以转向到主域名。
为什么要用301转向?
网址转向方法主要包括:301转向,302转向,JavaScript转向,PHP/ASP/CGI转向,META REFRESH网页META刷新,等。302转向可能会有URL规范化问题。其它方法都是常用的作弊手法,当然不是说不可以正当地用,方法本身没有错,但被作弊者用多了,搜索引擎对这些可疑的转向都很敏感。何必冒险呢。
当网页A用php 301重定向转到网页B时,搜索引擎可以肯定网页A永久的改变位置,或实际上不存在了,搜索引擎就会把网页B当作唯一有效目标。
优点:
第一,没有网址规范化问题,第二,也很重要的,网页A的PR网页级别会传到网页B。
很多时候其它网站会链接到:
http://jbxue.com
http://www.jbxue.com/index.html
http://jbxue.com/index.html
而不是我们希望或常用的:
http://www.jbxue.com
这样链接的PR也会传递到所有URL,如果用php 301跳转把前三个URL转到:
http://www.jbxue.com
PR也就集中在网页http://www.jbxue.com了。
怎样做301转向
如果你用的是Unix/Linux主机,可以用file.gif文件(Unix/Linux中用于目录特定指令如密码,转向,错误处理等的文件)。
比如把/old.htm转到http://www.jbxue.com/new.htm,可以用这个指令:
或
redirect permanent /old.htm http://www.jbxue.com/new.htm
如果要把所有http://jbxue.com形式的URL用301重定向转到 http://www.jbxue.com,包括:
http://jbxue.com/about.htm
转到 http://www.jbxue.com/about.htm
及
http://jbxue.com/dir/index.htm
转到 http://www.jbxue.com/dir/index.htm
等等,还要用到mod_rewrite:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^jbxue.com [NC]
RewriteRule ^(.*)$ http://www.jbxue.com/$1 [L,R=301]
如果使用 Windows主机,应该在控制面板做301转向设定。
补充 :在网址规范化评论里回答石头王的问题,可能对大家有帮助:
据我所知,HTML无法做301转向。在HTML里只能做JS或META REFRESH,但不是301转向。
HTML一被读取,就已经返回200 OK状态码了。
PHP可以做301转向:
PHP代码:
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.jbxue.com” );
?>
另外,DOThtaccess文件只是一个普通文字文件,你用Notepad建这个文件,放上指令,存在你帐号的根目录下就行了。
不需要修改Apache。
学习PHP 301跳转的方法的更多相关文章
- IIS 使用 web.config 实现从 http 自动301跳转到 https 的方法
现在很多网站为了安全,开启了 SSL 连接,那么开启 SSL 连接之后,如何将对应的 http 访问自动跳转到 https 上呢?之前介绍了 IIS 用 web.config 做域名的301跳转的方法 ...
- phpcms9添加301跳转
在做301跳转时遇到了"错误 310 (net::ERR_TOO_MANY_REDIRECTS):重定向过多."的问题,小编在这里把处理方法简单给大家写出来希望可以帮助到大家,另外 ...
- 301跳转:IIS服务器网站整站301永久重定向设置方法(阿里云)
欢迎来到重庆SEO俱乐部:搜索引擎优化学习交流QQ群224306761. 承接:seo优化.网站建设.论坛搭建.博客制作.全网营销 博主可接:百度百家.今日头条.一点资讯等软文发布,有需要请联系PE! ...
- 【Nginx】服务器中HTTP 301跳转到带www的域名的方法
从nginx的官方文档 documentation, 正确的nginx https 301跳转到带www域名方法的方法如下: HTTP 301跳转到带www域名方法 需要两个server段. serv ...
- WordPress换域名的301跳转方法(经典)
一.Linux 主机,这个最简单,修改 .htaccess 把 .htaccess 文件 WordPress 部分修改成下面样子 # BEGIN WordPress <IfModule mo ...
- IIS 301 跳转
IIS设置301重定向 IIS服务器下做301永久重定向设置方法. IIS6设置301重定向: 1.新建一个站点,对应目录如E:\wwwroot\301web.该目录下只需要1个文件,即index.h ...
- 转:HTTP 301 跳转和302跳转的区别
301和302 Http状态有啥区别?301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于: 301 redirect: 301 代表永久性转移(Permanently ...
- Apache环境.htaccess伪静态301跳转(www与不带www)
一般而言,我们使用的301跳转就是WWW与不带WWW域名之间的跳转,用行话说就是权重要归一.对于我们使用Apache环境的来说其实相对nginx比较简单,因为只需要我们在网站根目录有.htaccess ...
- IIS7.5全站301跳转,内页+带参数url,这才是真正的全站跳转
说好的转型安全领域,可是我还是忍不住要给大家分享这个教程.因为这个问题很常见,大部分人都遇到了(可能你没注意),困扰了我很久,相信这是一篇真正适合你的IIS301跳转教程. 背景 说到301跳转,作为 ...
随机推荐
- 如何获取web中某个元素的id
1.在原始的web界面上,切换到开发者模式,一般都有快捷键,本机的快捷键为(Ctrl+shift+I) 2.在开发者模式界面的左上角有一个放大镜的工具,点击一下,再去界面中找相应的元素,之后就可以定位 ...
- 从bug中学习怎么写代码
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:从bug中学习怎么写代码.
- C链表反转(时间复杂度O(n))
面试的时候经常会出现的问题,现在都做一遍,回忆一下,练练手. 这个题目需要注意两点: 1.head->next 要先设置为NULL ,否则反转后,它还是指向之前的next节点 2.需要有一个tm ...
- gshop.data 编辑器通杀版本 支持146-151版本
EXE下载:http://files.cnblogs.com/xe2011/EXEgshop.dataeditorV1.42014-3-11-204242.7z C#:http://files.cnb ...
- VisJS 随机图
<!doctype html> <html> <head> <title>Random nodes</title> <style ty ...
- Java反编译器安装及各版本介绍
JAVA语言是1995年5月由SUN公司发布的,由于其安全性高.代码优化.跨平台等特性,迅速取代了很多传统高级语言,占据了企业级网络应用开发等诸多领域的霸主地位. 不过,JAVA最突出 ...
- linux 修改文件时间
1.ls -l *.sh 2.touch -d "10/13/2013" *.sh [我想把所以的.sh文件修改到三个月前(2013年10月13)的时间.]3.ls -l *.sh ...
- iOS之XIB拖拽scrollView
在使用storyboard和xib时,我们经常要用到ScrollView,还有自动布局AutoLayout,但是ScrollView和AutoLayout 结合使用,相对来说有点复杂.根据实践,我说一 ...
- [Form Builder]:CREATE_GROUP Built-in
Description Creates a non-query record group with the given name. The new record group has no colum ...
- asp.net 开发问题:Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值。
"Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值." 这个问题在开发需要上传文件的时候可能会遇到,今天遇到这个问题,百度过也有挺多的修改方法. 方法1: 修 ...