58
騰訊雲
【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