2010-01-17 155 views
0

我有这些URL S:国防部重写的index.php

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

我只能有这1个重写规则不知何故?

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

回答

0

尝试下列规则:

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] 

的第一条规则是为了避免网址被重写已经可以映射到一个现有的文件。其他规则反映了你的三种情况。

0

这一个应该工作:

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

不要忘记在htaccess的打开重写引擎上:d RewriteEngine叙述上 – dmp 2010-01-17 22:51:17