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

Предотвращение цикла перенаправления с перезаписью параметра .htaccess

Позвольте мне начать с того, что я ни в коем случае не эксперт по .htaccess или Apache. Но мне нужно добавить хешированный термин в конец URL-запроса.

Например:

http://www.example.com/?query_string=stuff

становится

http://www.example.com/?query_string=stuff#otherstuff

Я использую следующее правило (весь файл .htaccess):

RewriteCond %{QUERY_STRING} ppw_confirm=(.*)
RewriteRule ^/?(.*) http://www.example.com/?ppw_confirm=%1#go [NE,L]

ЭТА ПРОБЛЕМА

После добавления #go в конец строки параметров файл .htaccess по-прежнему читает запрос? Ppw_confirm =. Затем он пытается выполнить второе перенаправление, после чего следует бесконечный цикл.

Я искал часами безуспешно. По сути, мне нужен способ предотвратить повторную запись .htaccess дважды, чтобы предотвратить этот бесконечный цикл.

Открыт для любых предложений :)

Любая помощь приветствуется. Заранее спасибо!

В #go часть - это совсем не то, с чем можно работать в правилах перезаписи; он на стороне клиента, не отправляется на сервер при запросе этого ресурса, поэтому вы не можете принимать решения в правилах на его основе.

Может быть, как часть перенаправления, добавить дополнительную переменную в строку запроса, затем искать эту переменную и предотвращать перенаправление, когда оно присутствует?

RewriteCond %{QUERY_STRING} ppw_confirm=(.*)
RewriteCond %{QUERY_STRING} !r=1
RewriteRule ^/?(.*) http://www.example.com/?ppw_confirm=%1&r=1#go [NE,L]