“If-sætninger” i Apaches mod_rewrite
December 11, 2009 · Posted in Udvikling
Når jeg udvikler gør jeg det typisk på min egen maskine, og så via SVN synkroniserer jeg med live-serveren. Det gi’r tit nogle problemer med rewrite-regler, da de typisk vil være anderledes fra localhost til den endelige server.
Min løsning på det er Skip-flaget der fortæller Apache hvor mange regler den skal springe over.
Nedenstående eksempel springer én regel over hvis man sidder på localhost.
1 2 3 4 5 6 7 8 9 10 11 12 | RewriteEngine on RewriteCond %{HTTP_HOST} ^localhost$ RewriteRule .* - [S=1] # Bliver ikke kørt på localhost RewriteCond %{HTTP_HOST} !^www\.example\.com$ RewriteRule ^(.*) http://www.example.com/$1 [L,R=301] # Bliver kørt på alle sites RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^[^/]+-([0-9]+)$ item/view/$1 [QSA] |
Se mere i manualen for mod_rewrite.
Comments
2 Responses to ““If-sætninger” i Apaches mod_rewrite”
Leave a Reply

Jeg hedder Morten, og jeg har udviklet webapplikationer siden slutningen af 90'erne.
Smaaaaaaaaaaaaaaaaaaaaart :D
Tak tak :)