-3
我試圖根據定義的URL重定向用戶。PHP 301重定向到定義的URL
如果定義的URL包含www
和請求URL 不包含www
則用戶被重定向到www
版本的URL。
如果定義的URL不包含www
和請求URL 確實包含www
,則向用戶重定向到非www
版本的URL。
它還需要考慮子域和路徑。
我曾嘗試以下:
define(URL, 'localhost.com/cms');
$request = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"];
if (get_subdomain(URL) != get_subdomain($request)) {
header("HTTP/1.1 301 Moved Permanently", true, 301);
header('Location:' . URL . $_SERVER['REQUEST_URI']);
}
function get_subdomain($url){
$sub = parse_url($url);
return $sub['host'];
}
您好海利。你能告訴我們你試過了什麼嗎? – 2015-02-09 10:27:34
詢問代碼的問題應該至少包含一些代碼或已經進行的嘗試的描述。 – 2015-02-09 10:37:05
@ RichardParnaby-King 我試過如下,它有一些問題。 define(URL,'http://localhost.com/cms'); $ request ='http://'.$_SERVER ['HTTP_HOST']。$ _ SERVER [「REQUEST_URI」];如果(get_subdomain(URL)!= get_subdomain($ request)){ \t header(「HTTP/1.1 301 Moved Permanently」,true,301); \t header('Location:'。URL。$ _SERVER ['REQUEST_URI']); } function get_subdomain($ url){ $ sub = parse_url($ url); return $ sub ['host']; } – haley 2015-02-09 10:38:10