RewriteRule与某个URL不匹配

时间:2013-03-09 11:54:01

标签: .htaccess mod-rewrite

RewriteRule ^(.*)/([^\/]+)/([a-z0-9\-\_]*)/?(company|person)/?$  $1/$2/index\.php\?misc=$3&$4 

这与http://example.com/zufang/zjqj_2-/person/不匹配。

我可以使用哪种RewriteRule来匹配example.com/zufang/zjqj_2-/person/xxx.com/zufang/person/

1 个答案:

答案 0 :(得分:0)

您的规则似乎正在尝试匹配example.com部分。但是,该域在RewriteRule中不匹配。此外,由于整个第二部分是可选的,请注意您的结果misc=$3&$4可能有问题,因为当第二部分不存在时,misc=&person会出现问题。这是一个更新的规则,还有一些其他的小清理:

RewriteRule ^([^\/]+)/([a-z0-9\-\_]*)?/?(company|person)/?$  /$1/index.php?misc=$2&$3 

我不是100%确定的另外一项,我不认为角色必须在角色匹配块中进行转义。如果是这种情况,以下内容会更加清晰:

RewriteRule ^([^/]+)/([a-z0-9-_]*)?/?(company|person)/?$  /$1/index.php?misc=$2&$3