.htaccess RewriteRule, um alle auf root umzuleiten

1946
Jona Koudijs

Ich möchte jede Anfrage mit Hilfe von RewriteRules in meiner .htaccess-Datei an root weiterleiten (später werde ich sie in eine vhost-Datei kopieren). Ich habe so etwas ausprobiert:

RewriteRule ^(.*)$ http://test.example.com/ [R=301,L] 

Dies funktioniert, aber offensichtlich erzeugt dies eine Endlosschleife. Ich denke, ich brauche eine RewriteCond, die die Wurzel ausschließt. Also habe ich so etwas ausprobiert:

RewriteCond % !^/ RewriteRule ^(.*)$ http://test.example.com/ [R=301,L] 

Aber das scheint leider nicht zu funktionieren. Ich habe seit einiger Zeit herumgesucht, weiß aber ich stoße nur auf RewriteRules, die den Schrägstrich mit jeder URL entfernen oder hinzufügen (was ich nicht will). Hilfe wäre sehr dankbar.

Ich verwende Apache2 + mod_rewrite auf einem Linux-Rechner.

0

1 Antwort auf die Frage

0
Pierre-Alain TORET

Das ist wahrscheinlich eher eine Frage für Serverfehler, denke ich. Die Wurzel ist nur ein /. Man muss also sagen, dass es mit /, beginnt ^/und auch, dass es gleich danach endet, also muss man $ hinzufügen, was zur folgenden Zeile führt.

RewriteCond % !^/$ 
Doh, ich sehe es jetzt. Danke es hat funktioniert! Und ich dachte, ich hätte es unter StackOverflow erstellt, meine Entschuldigung. Kann ein Mod diese Frage übertragen? Jona Koudijs vor 8 Jahren 0
Bitte. Eigentlich ist dies ein Duplikat: http://stackoverflow.com/questions/5437375/apache-mod-rewrite-for-everything-except-root Pierre-Alain TORET vor 8 Jahren 0
Sie haben vollkommen Recht, ich habe diese Frage bei meiner Suche nach Duplikaten nicht gefunden. Jona Koudijs vor 8 Jahren 0
Eigentlich denke ich, dass der ursprüngliche Post, den ich hier eingefügt habe, nichts mit StackOverflow zu tun hat. All dies sollte auf ServerFault sein, da es Teil der Serververwaltung ist. Pierre-Alain TORET vor 8 Jahren 0