Beste PHPHulpers


Ik zit met het volgende probleem:

Ik wil dat mijn url zowel op deze manier
http://website.be/argument1/
als op deze manier
http://website.be/argument1
werkt. Ik wil de trailing slash van het eerste argument dus optioneel maken.

Normaal gezien kan je dit doen door achter de laatste slash van de rewrite regex een ? te plaatsen. Dit werkt voor argument 2 & 3 maar niet voor het eerste.

Deze urls werken dus perfect

http://website.be/argument1/argument2/argument3/
http://website.be/argument1/argument2/argument3
http://website.be/argument1/argument2/
http://website.be/argument1/argument2


En vanaf ik maar 1 argument mee geef komen de problemen

Deze doet het nog

http://website.be/argument1/


Maar deze niet

http://website.be/argument1



Dit heb ik nu in mijn .htaccess staan:
RewriteEngine On
RewriteBase /

RewriteRule ^([^/]*)/([^/]*)/([^/]*)/?$ index.php?a1=$1&a2=$2&a3=$3 [L]
RewriteRule ^([^/]*)/([^/]*)/?$ index.php?a1=$1&a2=$2 [L]
RewriteRule ^([^/]*)/$ index.php?a1=$1 [L]


Vanaf dat ik een vraagteken na de laatste slash in de laatste regel zet heeft de $_GET array altijd deze waarde, wat ik ook nog achter de url zet..
array(1) {
  ["a1"]=>
  string(9) "index.php"
}


Iemand die me even uit de nood kan helpen?


Groetjes
Wouter

Reageren