Переадресация 301 с ошибкой "Страница перенаправляется неправильно"

На моем веб-сайте я даю фиктивный URL для целей SEO. Моя ссылка как ниже

http://legacy.com/project/491/women-tops-long-red-bangalore

В этом URL-адресе women-tops-long-red-bangalore эта формулировка является фиктивной, исходя из идентификатора элемента (491), загружаемого страницей. После 491/{все, что вы дадите, будет работать}.

для этого я хочу перенаправить страницу. Если кто-то даст

 http://legacy.com/project/491/{any}

хочу перенаправить на

 http://legacy.com/project/491/women-tops-long-red-bangalore

Я дал следующий код

  if(isset($_GET['item_id']))
         {
           Header("HTTP/1.1 301 Moved Permanently" );
           Header("Location: http://".$_SERVER['HTTP_HOST'].$project_link);   
        }

в $project_link я вызываю функцию, она возвращает строку на основе идентификатора элемента, как показано ниже

 "/project/491/women-tops-long-red-bangalore" 

но он показывает ошибку "страница не перенаправляет должным образом", но URL меняется

1 ответ

Решение
http://legacy.com/project/491/women-tops-long-red-bangalore

соответствует шаблону

http://legacy.com/project/491/{any}

который перенаправляет на:

http://legacy.com/project/491/women-tops-long-red-bangalore

который соответствует шаблону:

http://legacy.com/project/491/{any}

который перенаправляет на:

http://legacy.com/project/491/women-tops-long-red-bangalore

который соответствует шаблону:

http://legacy.com/project/491/{any}

...

Вместо того, чтобы применять этот URL, я бы снял проблему с дублирующимся контентом, добавив канонический тег в заголовок страницы:

<link rel="canonical" href="http://legacy.com/project/491/women-tops-long-red-bangalore">

Или вы можете разорвать цикл в PHP

if(isset($_GET['item_id']) && $_SERVER['REQUEST_URI'] != $project_link)
{
    Header("HTTP/1.1 301 Moved Permanently" );
    Header("Location: http://".$_SERVER['HTTP_HOST'].$project_link);   
}
Другие вопросы по тегам