Я пытаюсь перенаправить пользователя на основе определенного URL-адреса.PHP 301 перенаправление на определенный URL
Если URL-адрес содержит определенный www
и запрос URL-не содержитwww
, то пользователь будет перенаправлен на версию URL www
.
Если определенный 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'];
}
Привет Хейли. Не могли бы вы показать нам, что вы пробовали? –
Вопросы, требующие кода, должны содержать хотя бы какой-то код или описание попыток, которые уже были сделаны. –
@ RichardParnaby-King что я пробовал, как показано ниже, у него есть некоторые проблемы. define (URL, 'http://localhost.com/cms'); $ request = 'http: //'.$_SERVER [' HTTP_HOST ']. $ _ SERVER ["REQUEST_URI"]; if (get_subdomain (URL)! = Get_subdomain ($ request)) { \t заголовок («HTTP/1.1 301 Moved Permanentently», true, 301); \t header ('Местоположение:'. URL. $ _SERVER ['REQUEST_URI']); } function get_subdomain ($ url) { $ sub = parse_url ($ url); return $ sub ['host']; } – haley