当前位置:首页 >相关SEO教程 >相关SEO教程 >正文

【php方式】完美的WordPress www 301重定向方法

一般我们的实现WordPress伪静态的方法都是通过修改一些服务器配置文件来完成的,如httpd.ini、. htaccess等。对于经常WordPress建设建群的人来说是不是太繁琐了呢,每建一个站点都需要修改这些文件多麻烦,那么有没有什么方法能避免这些繁琐的修改呢?答案是使用php方式,按照以下说明修改WordPress主题文件即可。


功能概述:

实现如非www域名301重定向跳转到www域名,例如:aizhan.com 跳转到 www.aizhan.com

根据你在wordpress的 “设置==》常规==》站点地址”设置的首页地址来作为首选域,其他非首选域均会重定向到首选域。如果你使用多个域名,系统将使用你设置的站点地址作为首选域!

改代码非常适合懒人使用哈,不用写.htaccess就可以实现301重定向。

 

linux环境复制以下代码:

$host = str_replace("http://","",get_home_url());
$request_url = str_replace('index.php','',strtolower($_SERVER['REQUEST_URI']));
if ($_SERVER['HTTP_HOST'] != $host || ($_SERVER['HTTP_HOST'] == $host && strpos($_SERVER["REQUEST_URI"],"index.php"))) {
   header("HTTP/1.1 301 Moved Permanently");
   header("Status: 301 Moved Permanently");
   header("Location: http://". $host . $request_url);
                     exit();
}
unset($host);
unset($request_url);


windows环境复制以下代码:

$host = str_replace("http://","",get_home_url());
$request_url = str_replace('index.php','',strtolower($_SERVER['HTTP_X_REWRITE_URL']));
if
 ($_SERVER['HTTP_HOST'] != $host || ($_SERVER['HTTP_HOST'] == $host 
&& strpos($_SERVER["HTTP_X_REWRITE_URL"],"index.php"))) {
   header("HTTP/1.1 301 Moved Permanently");
   header("Status: 301 Moved Permanently");
   header("Location: http://". $host . $request_url);
                     exit();
}
unset($host);
unset($request_url);

 

使用方法:

复制以上代码另存为301.php,在主题头部文件header.php最上方引入require_once(’301.php’ );