A-A+

php怎么做301重定向的跳转

2017年08月29日 PHP技术文章 评论 2 条 阅读 0 views 次

关于301,想必不少的站长童鞋都接触过的,大都是在iis或者是apache下的配置文件中直接做,再或者的话就直接做个域名转址就ok了,但是我今天遇到的这个客户的站点,即没有域名的权限,也没有主机的配置权限,我也是醉了!!

好了,哪只好在php文件中修改了,只要能跳过去就OK了,如果能把权重给跳过去就更好了。

首先建立一个301.php 的文件,代码如下:

  1. $the_host = $_SERVER['HTTP_HOST'];//取得当前域名   
  2. $the_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面部分   
  3. $the_url = strtolower($the_url);//将英文字母转成小写   
  4. if($the_url=="/index.php")//判断是不是首页   
  5. {   
  6. $the_url="";//如果是首页,赋值为空   
  7. }   
  8. if($the_host !== 'www.xiariboke.net ')//如果域名不是带www的网址那么进行下面的301跳转   
  9. {   
  10. header('HTTP/1.1 301 Moved Permanently');//发出301头部   
  11. header('Location:http://www.xiariboke.net '.$the_url);//跳转到带www的网址   
  12. }  

然后在需要301的页面进行 include 就OK了,如下代码:

  1. <?php include("301.php");?>  

其实这种方法就是使用了代码的跳转,比较适合没有任何权限的站长朋友,这里给个小建议,如果是自己做站长的话,最好自己选购空间和域名,这样所有权就是自己的。

好了,这里再放出apache配置文件下的 301 重定向,代码如下:

  1. Options +FollowSymlinks   
  2. RewriteEngine on   
  3. rewritecond %{http_host} ^xiariboke.net [nc]   
  4. rewriterule ^(.*)$ http://www.xiariboke.net /$1 [r=301,nc]   

这是在 apache 下的配置,也是用得最多的301重定向方法,如果可能的话,还是建议使用这种方法。

标签:

2 条留言  访客:2 条  博主:0 条

  1. Koolight

    很早以前主机不支持.htaccess时候用过这个办法。

    • smiling

      现在的linux基本都支持的。

给我留言