У меня есть файл 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"
Ваше второе правило, похоже, наоборот. Я думаю, вам, возможно, придется поменять местами в своем первом правиле.