Ik wil mijn website ombouwen, zodat deze mooie URL's gebruikt. Ik ben dit nu aan het testen op mijn thuisserver en gebruik o.a. mod_rewrite met (na lang zoeken) de volgende rules:
Als ik dus surf naar http://localhost/site1/fruit/appels/elstar, wordt dit herschreven naar http://localhost/site1?q=fruit/appels/elstar. Ik wil alleen 2 uitzonderingen:
Voor de duidelijkheid: http://localhost/site1/eerst/andere/dirs/en/dan/images moet niet worden omgezet; alleen omzetten als de eerste "dir" na "site1/" "images" of "files" is.
Ik hoop dat ik duidelijk ben in mijn vraag. Na lang proberen kwam ik zelf uit op
Maar deze werkt niet. Ik wordt dan toch geredirect naar index.php?q=images. Wie kan mij verder helpen?
code:
1
2
3
4
5
6
7
8
| <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^/site1/(.*)$ RewriteRule ^(.*)$ /site1/index.php?q=$1 [L,QSA] </IfModule> |
Als ik dus surf naar http://localhost/site1/fruit/appels/elstar, wordt dit herschreven naar http://localhost/site1?q=fruit/appels/elstar. Ik wil alleen 2 uitzonderingen:
- http://localhost/site1/images moet niet worden omgezet naar http://localhost/site1/index.php?q=images maar naar http://localhost/sites/localhost.site1/images (een fysieke directory). Dus ook http://localhost/site1/images/gotlogo.png moet worden herschreven naar http://localhost/sites/localhost.site1/images/gotlogo.png en niet naar http://localhost/site1/index.php?q=images/gotlogo.png
- hetzelfde geldt voor de files directory: http://localhost/site1/files/word/gotpost.doc moet worden herschreven naar http://localhost/sites/localhost.site1/files/word/gotpost.doc en niet naar http://localhost/site1/index.php?q=files/word/gotpost.doc
code:
1
2
3
4
5
| # voor images: /sites/localhost.site1/images/{alles_wat_achter_images_stond} # voor files: /sites/localhost.site1/files/{alles_wat_achter_files_stond} |
Voor de duidelijkheid: http://localhost/site1/eerst/andere/dirs/en/dan/images moet niet worden omgezet; alleen omzetten als de eerste "dir" na "site1/" "images" of "files" is.
Ik hoop dat ik duidelijk ben in mijn vraag. Na lang proberen kwam ik zelf uit op
code:
1
| RewriteRule ^images/([^/\.]+)/?$ /sites/localhost.site1/images/$1 [L] |
Maar deze werkt niet. Ik wordt dan toch geredirect naar index.php?q=images. Wie kan mij verder helpen?
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."