Я просто изучаю файлы mod_rewrite и regex, и то, что я пытаюсь сделать, это передать переменные любого имени с любым количеством переменных и значений в сценарий и перенаправить их в другой скрипт.Может ли mod_rewrite сохранить двойную косую черту?
вот что я до сих пор:
RewriteEngine on
RewriteRule ^script\$(.*[\])? anotherscript?ip=%{REMOTE_ADDR}&$1 [L]
, что все, кажется, работает за исключением того, что один из параметров я передаю это URL и // после HTTP: // всегда получает урезанную к одной косе.
, например, я
скрипт $ URL = http://www.stackoverflow.com
затем перенаправляет:
anotherscript IP = 127.0.0.1 & URL = HTTP: /www.stackoverflow.com
и второй скрипт зажимает однократное нажатие.
Я понимаю, что сохранение двойного слэш - это полная противоположность тому, что люди обычно делают с mod_rewrite. Есть ли способ сохранить двойную косую черту?
EDIT: Решение найдено с помощью Gumbo.
RewriteCond %{THE_REQUEST} ^GET\ (.*)/script\$([^\s]+)
RewriteRule ^script\$(.*) anotherscript?ip=%{REMOTE_ADDR}&%2 [L]
Я должен добавить, что (. *) Перед/скрипт на RewriteCond после того, как я сделал, что она избавилась от ошибок 404, а затем это был просто вопрос прохождения через матчи.
это вызывает 404 не нашел – nerdabilly
Надеюсь, вы не забыли обязательный 'RewriteEngine on'. – Gumbo
нет, это есть. – nerdabilly