Назад | Перейти на главную страницу

Перепишите на новый URL и 301 старую страницу на новый URL

У меня есть файл products.php, который я пытаюсь заменить на / europe-cell-phone /. Я сделал для этого правило перезаписи:

RewriteRule ^europe-cell-phone/$ products.php [L]

Однако мне также нужно 301 старую страницу (products.php) в / europe-cell-phone /. Я пытаюсь сделать это по следующему правилу:

RewriteRule ^products.php$ http://www.eurobuzz.com/europe-cell-phone/ [R=301,L]

Однако, конечно, когда я перехожу на products.php в ожидании перенаправления, я попадаю в бесконечный цикл перенаправления, есть ли какое-либо решение для этого? Никогда раньше не сталкивался с этой проблемой.

Вам необходимо протестировать исходный запрос в THE_REQUEST так как REQUEST_URI уже могло быть изменено правилом:

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /products\.php
RewriteRule ^products\.php$ /europe-cell-phone/ [R=301,L]
RewriteRule ^europe-cell-phone/$ products.php [L]

Вам нужно переименовать свой products.php в products-new.php и создать два таких правила:

RewriteRule ^ europe-cell-phone / $ products-new.php [L]

RewriteRule ^ products.php $ products-new.php [R = 301, L]

для перезаписи в apache вы пишете их так: RewriteRule шаблон замена

Итак, первое перечисленное вами правило соответствует "europe-cell-phone" и заменяет его на "products.php"

Ваше второе правило, похоже, наоборот. Я думаю, вам, возможно, придется поменять местами в своем первом правиле.