Mod_rewrite

Ik wil index.php?piet=1&sjaak=3 vervangen door index/1/3. Hoe doe ik dat?

Een veel ingewikkelder maar veel flexibeler oplossing is het gebruik maken van mod_rewrite. Deze module geeft je de beschikking over diverse configuratie directives die vertellen hoe een inkomende request "vertaald" (rewritten) moet worden naar een door jou te bepalen URI.

Een eenvoudig voorbeeld is om bijvoorbeeld de url /rewrite-test/index/1/2 te rewriten naar /rewrite-test/index.php?piet=1&sjaak=2


code:

RewriteEngine On
RewriteBase /rewrite-test/
RewriteRule ^index/([0-9]+)/([0-9]+)$ index.php?piet=$1&sjaak=$2


Je kunt dit natuurlijk zo gek maken als je zelf wilt. Een goed opgezette set rewriterules kan ook zorgen voor goede 'default'-afhandeling en shortcuts naar bepaalde pagina's. Zo zou je bijvoorbeeld een rewriterule kunnen maken die doorverwijst naar een search-engine als een url niet bestaat, of /user/piet doorverwijzen naar een profile.php?user=piet, etcetera. Alles bij elkaar genomen is het zeer zeker de moeite waard mod_rewrite te verkiezen boven MultiViews.

Voor meer informatie over het gebruik van mod_rewrite kun je het beste de URL Rewriting Guide en de mod_rewrite reference van Apache doornemen.

« Lees de omschrijving en reacties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.