2010-01-17 8 views
0

J'ai ces URL s:-rewrite mod index.php

index.php?area=guilds 
index.php?area=guilds&page=create 
index.php?area=guilds&page=view&name=The+Unit 

que je pourrais avoir seulement 1 règle de réécriture pour ce en quelque sorte?

/guilds 
/guilds/create 
/guilds/view/The+Unit 

Répondre

0

Essayez ces règles:

RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [L] 
RewriteRule ^[^/]+$ index.php?area=$0 [L] 
RewriteRule ^([^/]+)/([^/]+)$ index.php?area=$1&page=$2 [L] 
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ index.php?area=$1&page=$2&name=$3 [L] 

La première règle est d'éviter que les URL sont réécrites qui peuvent déjà être mis en correspondance avec un fichier existant. Les autres règles reflètent vos trois cas.

0

Celui-ci devrait fonctionner:

RewriteRule /(.+)(?:/(.+))?(?:/(.+))? index.php?area=$1&page=$2&name=$3 
+0

Ne pas oublier de faire tourner le moteur de réécriture dans le htaccess: D RewriteEngine sur – dmp