Ich lerne gerade mod_rewrite und regex Zeug, und was ich versuche zu tun ist, Variablen eines beliebigen Namens mit einer beliebigen Anzahl von Variablen und Werten in ein Skript zu übergeben und sie an ein anderes Skript weiterleiten zu lassen.Kann mod_rewrite einen doppelten Schrägstrich beibehalten?
hier ist das, was ich bisher:
RewriteEngine on
RewriteRule ^script\$(.*[\])? anotherscript?ip=%{REMOTE_ADDR}&$1 [L]
Das ist alles, außer dass einer der Parameter zu arbeiten scheint, ich bin vorbei eine URL ist und die // nach http: // wird immer nach unten abgestreift zu einem Schrägstrich.
zum Beispiel ich
Skript $ url = http://www.stackoverflow.com
dann Umleitungen an:
anotherscript ip = 127.0.0.1 & url = http: /www.stackoverflow.com
und das zweite Skript Drosseln auf dem Single-Slash.
Ich weiß, dass das Beibehalten eines Doppelstrichs genau das Gegenteil dessen ist, was Leute normalerweise mit mod_rewrite machen. Gibt es eine Möglichkeit, den Doppelstrich beizubehalten?
EDIT: Lösung mit Gumbo Hilfe gefunden.
RewriteCond %{THE_REQUEST} ^GET\ (.*)/script\$([^\s]+)
RewriteRule ^script\$(.*) anotherscript?ip=%{REMOTE_ADDR}&%2 [L]
Ich hatte noch hinzufügen (. *) Vor/script auf der RewriteCond, sobald ich, dass es der 404-Fehler losgeworden war, und es war dann nur eine Frage der Spiele der Durchreise.
dies eine 404 nicht gefunden – nerdabilly
Hoffnung, die Sie verursacht nicht vergessen, die obligatorische 'RewriteEngine on'. – Gumbo
Nein, es ist da. – nerdabilly