閱讀58 返回首頁    go 騰訊雲


【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("https://","",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: https://". $host . $request_url);
                     exit();
}
unset($host);
unset($request_url);


windows環境複製以下代碼:

$host = str_replace("https://","",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: https://". $host . $request_url);
                     exit();
}
unset($host);
unset($request_url);

 

使用方法:

複製以上代碼另存為301.php,在主題頭部文件header.php最上方引入require_once(’301.php’ );

最後更新:2016-12-29 14:33:19

  上一篇:go 死鏈接和錯誤鏈接的區別
  下一篇:go 怎麼寫r​o​b​o​t​s.​t​x​t​?