Ich habe einige super seltsame URLs, die ich umleiten muss. Die Original-URLs wie folgt aussehen:Apache Mod_Rewrite leere Abfrage Zeichenfolge gefolgt von Schrägstrich
server1.com/directory?/tfoo
Diese URLs hier gehen muss:
server2.com/search~?query=foo
ich ein paar verschiedene Möglichkeiten ausprobiert habe, aber das ist, was mit gerade jetzt arbeite ich:
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^/t(.*) https://server2.com/search?query=$2 [L,NE,NC]
Grundsätzlich ich dachte, ich würde für eine leere Abfrage-String suchen, und dann versuchen, sich zu bewegen, den Wert in der Verzeichnisstruktur (foo) gegeben zu greifen. Der RewriteCond stimmt mit meiner ursprünglichen URL überein, aber ich kann nicht den tatsächlichen Abfrageparameter abrufen.
Ich habe eine Menge Dinge mit RegEx ausprobiert, um zu versuchen, das Fragezeichen insgesamt zu ignorieren, aber es sieht so aus, als ob mod_rewrite das Fragezeichen nur im Kontext einer Abfrageparameterumleitung versteht.
Jeder Rat wird sehr geschätzt.
Danke!
'RewriteCond% {QUERY_STRING}' ↵ 'RewriteRule "^/t $ (*)." "^ /? Verzeichnis $" "https://server2.com/search?query=%1" [L, NE, NC] ' – Deadooshka
Danke, @Deadooshka, das hat funktioniert! – lpm