Может ли mod_rewrite сохранить двойную косую черту?
Я просто изучаю вещи mod_rewrite и regex, и я пытаюсь передать переменные с любым именем, с любым количеством переменных и значений, в сценарий и перенаправить их в другой сценарий.
вот что у меня так далеко:
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. Есть ли способ, которым я могу сохранить двойную косую черту?
РЕДАКТИРОВАТЬ: Решение найдено с помощью Гамбо.
RewriteCond %{THE_REQUEST} ^GET\ (.*)/script\$([^\s]+)
RewriteRule ^script\$(.*) anotherscript?ip=%{REMOTE_ADDR}&%2 [L]
Я должен был добавить это (. *) Перед / script на RewriteCond, как только я это сделал, он избавился от 404 ошибок, а затем это был просто вопрос прохождения совпадений.