Voor mijn site wil ik URL's gebruiken als:
http://dev.project.domein.nl/forum/topic/4 of
http://dev.project.domein.nl/site/contact


ik heb de volgende rewrite-rules in mijn .htaccess staan.

RewriteEngine On 
RewriteBase / 
RewriteCond %{REQUEST_URI} -f 
RewriteRule .              - [L] 

# hier heb je geen RewriteCond meer nodig, omdat je dat hierboven al afvangt 
RewriteRule ^([^/]+)/([^/]+)/?$  index.php?p=$1&id=$2 [L] 


Omdat ik in de ?p= al een / gebruik. (?p=site/contact) gaat de rewrite over zijn nek.

Hoe valt dit op te lossen. Kan je een slash ook uitsluiten?
Als ik zo'n urls wil, stuur ik gewoon alle niet bestaande verzoeken door naar index.php en dan gewoon wat spelen met $_SERVER[REQUEST_URI]
ToySoldier schreef op 14.07.2009 00:33
Als ik zo'n urls wil, stuur ik gewoon alle niet bestaande verzoeken door naar index.php en dan gewoon wat spelen met $_SERVER[REQUEST_URI]

Dat heet Multiviews, maar ik wil eerst proberen of 't met mod_rewrite werkt.
Wat je kan proberen is op het moment dat er .php in de URL staat deze negeren voor de rewrite rule. Er zal in jou methode alleen .php staan (of index.php) wanneer je url al rewrited is, dus dat moet een oplossing kunnen vormen.

Reageren