mod-rewrite
Fundamentele interne herschrijvingen
Zoeken…
Fancy url naar php script
In dit voorbeeld herschrijven we url's in de vorm http://example.com/topic/id-seoname
naar een php-script dat een id als invoer gebruikt. In dit voorbeeld wordt verwacht dat de regel zich in de context 'per map' bevindt .
RewriteEngine on
RewriteRule ^topic/([0-9]+)-[^/]*/?$ /topics.php?id=$1 [L]
In dit voorbeeld is topic/
het algemene voorvoegsel van alle onderwerpen. Dit wordt gevolgd door een nummer dat door het script wordt gebruikt. Ten slotte wordt de naam van de SEO weergegeven. Deze SEO-naam wordt genegeerd door mod_rewrite, omdat deze er alleen is om SEO-redenen. Het tweede argument van RewriteRule
bevat de url RewriteRule
moet worden herschreven. De tijdelijke aanduiding $1
wordt vervangen door de inhoud van de eerste capture-groep in de regex ervoor. In dit geval wordt het vervangen door wat overeenkomt met ([0-9]+)
.
URL met vraagstring naar php-script
Om overeen te komen met een queryreeks, moet een voorwaarde worden toegevoegd aan de RewriteRule
. Dit wordt gedaan door RewriteCond
richtlijnen voor de bijbehorende regel te plaatsen. In het volgende voorbeeld herschrijven we dynamisch een oude url naar een nieuwe url.
RewriteCond %{QUERY_STRING} ^name=([^&]*)$
RewriteRule ^oldscript\.php$ newscript.php?username=%1 [L]
Houd er rekening mee dat we de letterlijke stip moeten matchen met een schuine streep. %1
wordt vervangen door de eerste opnamegroep van de vorige voorwaarde. In dit geval wordt het vervangen door wat overeenkomt met ([^&]*)
.