mod_rewrite: probleem met slashes tussen variabelen
Christophe Christophe
09/11/2011 18:28:38Bij het implementeren van zoekmachine-vriendelijke url's met behulp van mod_rewrite stel ik vast dat alles prima werkt indien ik in de url liggende streepjes of underscores gebruik als scheiding tussen de variabelen en dat het allemaal plots niet meer naar behoren werkt indien ik in plaats van liggende streepjes of underscores, slashes gebruik.
Een voorbeeld: index.php?menu=kalender&id=1
Dit werkt prima:
rewritecond %{request_filename} !-f
rewritecond %{request_filename} !-d
RewriteRule ^kalender-([0-9]+)$ index.php?menu=Kalender&id=$1 [NC]
Dit werkt niet:
rewritecond %{request_filename} !-f
rewritecond %{request_filename} !-d
RewriteRule ^kalender/([0-9]+)$ index.php?menu=Kalender&id=$1 [NC]
Met 'niet werken' bedoel ik dan dat wél de correcte inhoud uit de database wordt gehaald en getoond, maar dat de opmaak van de pagina niet meekomt; css en afbeeldingen worden niet geladen.
Reden: de link naar bijvoorbeeld een afbeelding wordt www.domein.com/kalender/afbeeldingen/test.jpg ipv www.domein.com/afbeeldingen/test.jpg.
Bij gebruik van streepjes of underscores wordt die "kalender/" niet als map gezien en blijven url's naar css en afbeeldingen correct.
Weet iemand hoe je in dit voorbeel wél slashes kan gebruiken als scheidingsteken tussen de variabelen, maar de links naar afbeeldinge en css intact laat?
Alvast bedankt!
Een voorbeeld: index.php?menu=kalender&id=1
Dit werkt prima:
rewritecond %{request_filename} !-f
rewritecond %{request_filename} !-d
RewriteRule ^kalender-([0-9]+)$ index.php?menu=Kalender&id=$1 [NC]
Dit werkt niet:
rewritecond %{request_filename} !-f
rewritecond %{request_filename} !-d
RewriteRule ^kalender/([0-9]+)$ index.php?menu=Kalender&id=$1 [NC]
Met 'niet werken' bedoel ik dan dat wél de correcte inhoud uit de database wordt gehaald en getoond, maar dat de opmaak van de pagina niet meekomt; css en afbeeldingen worden niet geladen.
Reden: de link naar bijvoorbeeld een afbeelding wordt www.domein.com/kalender/afbeeldingen/test.jpg ipv www.domein.com/afbeeldingen/test.jpg.
Bij gebruik van streepjes of underscores wordt die "kalender/" niet als map gezien en blijven url's naar css en afbeeldingen correct.
Weet iemand hoe je in dit voorbeel wél slashes kan gebruiken als scheidingsteken tussen de variabelen, maar de links naar afbeeldinge en css intact laat?
Alvast bedankt!
Er zijn nog geen reacties op dit bericht.