Требуется один старый URL на новый URL

#.htaccess #url #redirect

Вопрос:

Я преобразовал старый веб-сайт на новый веб-сайт с переписыванием URL-адреса, и он работает должным образом, но, как менеджер seo, он попросил перенаправить 5 старых URL-адресов на новостные URL-адреса, потому что они уже находятся на первых страницах в поисковых системах Google. Ему не нужны никакие оправдания, и он хочет хотя бы перенаправить 5 старых URL на новые новости. Пожалуйста, дайте мне знать, как перенаправить эти страницы на новые URL-адреса.

СТАРЫЙ URL: www.example.com/ViewCategory.php?CId=1211

Новый URL: www.example.com/Carrom-Boards.html

Надеюсь, кто-нибудь поможет мне исправить это.

Спасибо и с наилучшими пожеланиями

Ответ №1:

Ну, звучит довольно просто:

 RewriteEngine on
RewriteCond %{QUERY_STRING} ^CId=1211$
RewriteRule ^/?ViewCategory.php$ /Carrom-Boards.html [QSD,R=301,L]
 

Хорошей идеей будет начать с R=302 временного перенаправления и изменить его на R=301 постоянное перенаправление только после того, как все будет работать должным образом. Это предотвращает неприятные проблемы с кэшированием для пользователей.

Комментарии:

1. Уважаемый Аркаша, спасибо за ответ. Я пробовал ваш приведенный выше код, но он перенаправляется на /Carrom-Boards.html ? CId = 1211, но мне нужно перенаправить на Carrom-Boards.html только. Потому что www.exmaple.com/Carrom-Boards.html ? CId = 1211 не завершается, поэтому он возвращается на индексную страницу. Можете ли вы предложить, как перенаправить только www.exmaple.com/Carrom-Boards.html

2. Ах, действительно, пропустил эту деталь. Я добавил QSD флаг в ответ. Это должно исправить эту деталь.

3. Итак, у вас больше параметров запроса, чем вы указали в своем вопросе. И вы QSA снова сбросили флаг. Почему когда-либо.