Ich habe eine .htaccess-Datei mit einigen Regeln, und ich möchte nun eine weitere Regel hinzuzufügen, die einen Teil der URL-Streifen, so dass.htaccess RewriteRule zu entfernen? folgende Hostnamen
www.mydomain.com/?generations/anything
wird
www.mydomain.com/anything
(und etwas mea ns andere Zeichen). Ich kann es schaffen, ohne das?, Aber ich kann scheinen nicht zu passen/entfernen? I versucht:
1 fehlgeschlagen:
RewriteRule ^\?generations/(.*)$ /$1 [L]
2 fehlgeschlagen:
RewriteCond %{QUERY_STRING} ^generations/(.*)$
RewriteRule ^generations/(.*)$ $1 [L]
3 fehlgeschlagen:
RewriteCond %{QUERY_STRING} ^generations/(.*)$
RewriteRule ^([^?]*)?generations/(.*)$ $2%1 [L]
4 fehlgeschlagen:
RewriteRule ^([^?]*)?generations/(.*)$ $1$2 [QSA,L]
Kann jemand eine Arbeitsregel erstellen - und erklären, warum mein dritter Versuch oben nicht funktioniert? Ich kann möglicherweise Probleme mit den ersten beiden sehen, aber die dritte und vierte sollte funktionieren ...
Können Sie Ihren ersten Codeblock erklären? Was macht^$? Und sind in Ihrem zweiten Block die Muster und Ersatzzeichenfolgen umgekehrt? – TSG
Erster Codeblock,^$ sagt nur, dass die leere Zeichenfolge wie in nur mydomain.com/ übereinstimmt, da die Abfragezeichenfolge separat abgeglichen wird. In der zweiten ist der Punkt, wenn Sie wollen, dass die Leute mydomain.com/anything tatsächlich mydomain.com/?generations/anything besuchen, dann müssen Sie es umgekehrt tun. Also ja, umgekehrt wie du es gemacht hast. – SuperDuperApps
Aber ich wollte die "generations /" aus der URL entfernen. Bedeutet das, dass deine Antwort umgekehrt ist? – TSG