学习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跳转,作为 ...
随机推荐
- PowerDesigner实用技巧小结(2)
PowerDesigner实用技巧小结 1.ORACLE数据库建模时,由于ORACLE的表名.字段名如果是小写会有一定的麻烦,需要将小写转化为大写? (1)在打开pdm的情况下,进入Tools-Mod ...
- java统计程序运行的时间
耗时统计 第一种是以毫秒为单位计算的.long startTime = System.currentTimeMillis(); //获取开始时间 //程序做一些功能性的操作doSomething ...
- C# 导入文件日期格式(dd/MM/yyyy)
最近项目导入数据日期变成了这样 这是因为转换成了美国时间 美国时间格式:MM/dd/yyyy 英国时间格式:dd/MM/yyyy 避免导入出现这个问题的话就需要将excel文档单元格样式设 ...
- Java 实现组合(Composite)模式
类图 /** * 树 总体 * * @author stone * */ public class Tree { private TreeNode root; //根节点 public Tree(St ...
- (BUG已修改,最优化)安卓ListView异步加载网络图片与缓存软引用图片,线程池,只加载当前屏之说明
原文:http://blog.csdn.net/java_jh/article/details/20068915 迟点出更新的.这个还有BUG.因为软引应不给力了.2.3之后 前几天的原文有一个线程管 ...
- python实现的基于TCP的JSON数据通信
用Python写的一个多线程TCP通信实例,实现了JSON数据的传输. 闲言少述,直接上代码 一.client #!/usr/bin/env python # -*- coding:utf-8 - ...
- Log4j配置具体解释
#配置Logger #--log4j.rootLogger=[level], appenderName1, appenderName2, ... #level分为: # FATAL : 0 # ERR ...
- iOS之在内存中绘图
与直接在UIView控件上绘图不同,在内存中绘图时,需要开发者自己准备绘图环境,Quartz 2D提供了一个非常便捷的函数:UIGraphicsBeginImageContext(CGSize siz ...
- codeblocks 更改颜色主题
Code::Blocks是一款优秀的C/C++编辑器,但默认的颜色为白底黑字,并且没有自带更多的主题配置.因此,各种颜色主题需要手动配置. 首先关闭codeblocks软件. 下载文件colour_t ...
- jquery登录验证插件
最近写了个登录验证的jquery插件,其中功能还不是很完善,需要进一步改进,先放出来看看先. /** * 功能描述:本模块实现普通网站登录验证,以后可以添加二维码验证,以及第三方帐号登录验证 * 关联 ...