Apache rewrite Regeln sind ein mächtiges Tool um URLs einer Webseite in der .htccess Datei zu ändern. Leider hat man keine Möglichkeit sie zu debuggen wenn man keinen direkten Zugriff auf die Apache Installation hat wie es die Regel ist bei managed Servern. Durch das Fehlen der Apache Logs kann man nur durch Ändern und Probieren der rewrite Regeln zum Ziel kommen. Dabei gibt es ein paar Dinge durch die, wenn man sie berücksichtigt, auch so recht gut seine rewrite Regeln entwickeln kann ohne eine laufende Webpräsenz zu beeinträchtigen.

 

Zuallererst muss man sich mit regulären Ausdrücken gut auskennen um korrekte Ausdrücke zu erstellen und iterativ durch Tests anpassen zu können. Links dazu finden sich am Ende der Seite. Wenn man dann folgende Dinge beachtet kann man sie sehr gut auch ohne Rootzugriff testen und entwickeln:

1) 302 für das Testen der Regeln benutzen

301 sind hartnäckig werden von Browsern gecached. Wenn man rumtestet bekommt man dadurch diverse Probleme. Auch sollte man nicht gleich nach erfolgreichem Testen von 301 auf 302 umstellen sondern eine gewisse Zeit abwarten bis sich zeigt dass die Regeln wirklich wie gewünscht funktionieren. Ansonsten werden regelmäßige Besucher plötzlich unerwartet einen 404 erhalten.

2) Einen speziellen Testbenutzeragenten für die Tests benutzen

Damit stellt man sicher dass man auf einer aktiven Webseite ohne irgendwelche Besucher zu beeinflussen seine Regeln gefahrlos testen kann.

RewriteCond %{HTTP_USER_AGENT}  ^mein-test-benutzer-agent$
RewriteCond %{HTTP_HOST} ^www\.meineWebseite\.de$ [NC]
RewriteRule ^ http://www.google.de [L,R=302]

Dadurch wirkt die Regel nur für den Besucher, der den Testbenutzeragenten benutzt.

3) Benutze wget um keinen Cache zu benutzen und setze den Testbenutzeragenten

wget -U "mein-test-benutzer-agent" http://www.meineWebseite.de

 

Hilfreiche Links

http://stackoverflow.com/questions/9153262/tips-for-debugging-htaccess-rewrite

Online Regex Tester

Ein weiterer Online Regex Tester

Noch ein Online Regex Tester

rewrite online Tester

Apache URL rewriting guide

Regular expression info

Regex Tutorial

Kommentar schreiben

Spam Kommentare sind sinnlos !
Vor der Publizierung wird jeder Beitrag auf Spam geprüft. Leider dauert es deswegen bis ein Kommentar sichtbar wird. Dafür erhält aber kein Subscriber Spam eMails.
Die eMail ist optional und nicht öffentlich sichtbar. Sie ist notwendig um eMail Benachrichtigungen zu Antworten auf Kommentare zu erhalten. Sie wird auch u.U. auch vom Seitenbetreiber genutzt um offline Kontakt aufzunehmen.

Spam comments are useless !
Any comment will be reviewed first and checked for spam. Unfortunately this delays the publishing of comments but will protect subscribers from spam.
eMail is optional and hidden and is required to get update notifications for any comments. In addition your eMail may be used by the website owner to get in contact with you offline.