2009-12-16 8 views
0

Я отправил это раньшеPHP 301 Перенаправление Идея

301 Redirect of Static HTML to Dynamic PHP Page

Но есть новая идея, и мне интересно, если есть какие-либо вопросы, почему я не должен этого делать ...

Если кто-то пытается перейти к мертвой странице на нашем сайте, как:

(домен) /somepage.html

То, что сейчас существует здесь:

(домен) /dynamic.php?id=1

Это не удается, и идет к пользовательской ошибки 404 страницы (/404.php)

Если я смотрю на переменную $_SERVER['REDIRECT_URL'], я могу видеть где они пытались уйти. Моя идея состоит в том, чтобы добавить в верхнюю часть страницы 404.php, чтобы проверить это значение, и если в моем списке элементов перенаправить, то использовать PHP для выполнения 301.

Что-то вроде этого .. .

// -- php include at top of 404.php page 

switch(trim($_SERVER['REDIRECT_URL'])){ 
    case "/oldpage.html" : $location = "/dynamic.php?id=1"; break; 
    case "/oldpage2.html" : $location = "/dynamic.php?id=2"; break; 
} 

if(isset($location) && trim($location) != ''){ 
    header ('HTTP/1.1 301 Moved Permanently'); 
    header ('Location: '.$location); 
    exit(0); 
} 

// -- end of php include 

Это дает мне одну точку, чтобы войти во всех звеньях, которые я вижу в веб-мастеров Google, которые в записях блога и т.д., которые уже умерли.

Thanks

+1

Хорошо .............. И? –

+1

Почему бы вам не просто поместить правила переадресации в .htaccess, если вы уже знаете, что они существуют? Вам не нужен браузер 404ing ... просто измените его на 301. –

ответ

1

Ну, да. 301, сопровождаемый заголовком Location, является правильным ответом на запрос, который вы можете положительно идентифицировать как перемещаемый.

Смежные вопросы