.htaccess переписать без зацикливания? - PullRequest
0 голосов
/ 17 июня 2009

У меня есть существующая страница с именем bfly.php , которую необходимо изменить на butterfly-jewelry.php

Я хочу сделать так, чтобы, если кто-то перейдет по URL butterfly-jewelry.php , он получит страницу bfly.php, но URL-адрес не изменится и останется butterfly-jewelry .php . НО также, если кто-то переходит непосредственно к bfly.php, URL-адрес меняется на butterfly-jewelry.php

Есть ли способ сделать это, не застревая в цикле перезаписи?

Спасибо!

Ответы [ 2 ]

1 голос
/ 17 июня 2009

Вы можете переименовать файл, например, в. bfly1.php, а затем используйте это:

RewriteRule ^butterfly-jewelry\.php bfly1.php [L,QSA]
RewriteRule ^bfly\.php http://yourhost.com/butterfly-jewelry.php [L,QSA,R=301]

(Я попробовал решение Blixt, но оно вызвало бесконечный цикл, несмотря на L-флаг.)

0 голосов
/ 17 июня 2009

Вы можете использовать флаги Last Rule и Redirect, чтобы делать то, что вы хотите (см. документация mod_rewrite ):

# Rewrite request to bfly.php, and then stop the rewrite engine.
RewriteRule ^butterfly-jewelry\.php$ bfly.php [L]
# Redirect the client to butterfly-jewelry.php with "Permanently Moved" status
RewriteRule ^bfly\.php$ butterfly-jewelry.php [L,R=301]

Я не проверял вышеизложенное, но считаю, что оно должно работать.

...