2013-09-25 5 views
0

На моем сайте для SEO целей ссылка hotel.php?hotel_id=104 изменяется на parkgrand.html и изменил HTAccess сослаться на тот же сценарийHtaccess перенаправить старый URL на новый URL

код: RewriteRule ^parkgrand\.html$ /hotel.php?hotel_id=104

До этого он отлично работает , Но я хочу, если какой-нибудь пользователь по-прежнему обращается к старому URL-адресу ИЭ hotel.p? Hotel_id = 104, то он должен получить автоматически перенаправлен на parkgrand.html и агент пользователя должен получить ответ 301

Таким образом, код теперь становится

RewriteCond %{REQUEST_URI} ^/hotel.php 
RewriteCond %{QUERY_STRING} ^hotel_id=104 
RewriteRule ^hotel.php /parkgrand.html [L,R=301] 

RewriteRule ^parkgrand\.html$ /hotel.php?hotel_id=104 

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

+0

Ответ от @Prix довольно хорош и должен работать на вас. – anubhava

ответ

3

Дайте этому попытку:

# Redirect /hotel.php?hotel_id=104 to /parkgrand.html 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+hotel\.php\?hotel_id=104[&\s] [NC] 
RewriteRule^/parkgrand.html? [R=302,L] 

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

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

+0

Большое спасибо. Ты спас меня от неприятного кодирования. – Imdad

+0

@Imdad Добро пожаловать. – Prix

+0

Это прекрасно работает для меня. +1 :) Спасибо – Jai

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