Ik probeer met htacess een url vriendelijke site te maken maar krijg iets niet voor elkaar!

RewriteRule ^evenement/(.*) event-item.php?event_url=$1
RewriteRule ^evenement/(.*)/agenda agenda-item.php?event_url=$1&titel=$2

Als ik dan het volgende doe: ./evenement/club-kampioenschappen dan werkt het en als ik dan ./evenement/club-kampioenschappen/agenda doe dan krijg ik het niet voor elkaar. Als ik bovenstaande dan wijzig in:

RewriteRule ^evenement/(.*) event-item.php?event_url=$1
RewriteRule ^evenementen/(.*)/agenda agenda-item.php?event_url=$1&titel=$2

En ik tik ./evenementen/club-kampioenschappen/agenda in dan werkt het wel

Maar hoe kan ik dit oplossen want wil gewoon evenement en niet evenementen.
Draai de 2 rules eens om en voeg een [L] toe aan beide regels, mogelijk werkt het dan wel.
Liever nog: voeg tijdens het ontwikkelen een [R] toe ipv [L]

Dan zie je de url direct in je browser veranderen, zodat je ziet wat hij probeert aan te roepen.

Zelf geef ik er de voorkeur aan om niet alle parameters meet te geven. Want dan zit je met een event_url en een titel en straks ook nog met een id en een datum etc.

En daarmee heb je voor elke parameter extra een extra rewriterule nodig die ook nog niet strijdig moet zijn met de bestaande, en op de juiste plek moet worden tussengevoegd.

Liever rewrite ik alles naar 1 script (in mijn geval altijd index.php, maar laten we zeggen voor jou naar events.php)


In je script ga je vervolgens met php kijken wat er in $_SERVER allemaal te vinden is ($_SERVER['REQUEST_URI']) en dat dan uit elkaar trekken met php.
Met php gaat dat eenvoudiger dan in abstracte regexen en php beheersten wij scripters vaak beter.

Reageren