Я пытаюсь выполнить следующее в файле HTACCESS:
Я хочу 301 перенаправить это -> http://www.domain.com/somepage.php?page=foo
на это -> http://www.domain.com/my-pretty-url/
Это прекрасно работает, когда я изменяю внутренние ссылки на сайте, чтобы прочитать, как я хочу, и я НЕ использую флаг R = 301:
RewriteRule ^my-pretty-url/$ /index\.php?page=foo [L]
НО ... заминка здесь я тоже хочу301 Перенаправить любые внешние запросы на сервер, который, когда я обрабатываю это, помещает меня в цикл перенаправления.
RewriteCond %{REQUEST_URI} /index.php$
RewriteCond %{QUERY_STRING} ^page=foo$
RewriteRule ^.*$ http://www.domain.com/my-pretty-url/? [R=301,L]
RewriteRule ^my-pretty-url/$ /index\.php?page=foo [L]
Правила RewriteCond не работают сами по себе, только один RewriteRule внизу работаетсам для внутренних переписываний, но он не обрабатывает внешние запросы.
Очевидно, что если у меня есть оба вместе, это создает цикл.Как мне обойти это ??
Спасибо!