首页 文章

重写不起作用的规则

提问于
浏览
0

我有以下动态网址:http://www.lakaweb.com/dev/cserv/index.php?a=list&car=C5&year=2012&engine=1.8-HDi

我在其中重写为http://www.lakaweb.com/dev/cserv/list/C5/2012/1.8-HDi

有:

RewriteRule ^dev/cserv/([^/\.]+)/([^/\.]+)/([^/\.]+)/(.*)/?$ /dev/cserv/index.php?a=$1&car=$2&year=$3&engine=$4 [L]

现在,当我想在最后添加另一个字段时,为什么这个重写规则不起作用:

RewriteRule ^dev/cserv/([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/(.*)/?$ /dev/cserv/index.php?a=$1&car=$2&year=$3&engine=$4&service=$5 [L]

1 回答

  • 0

    这是因为 ([^/\.]+) 匹配 1.8-HDi 中的'.'作为其中一个片段的结尾 . 规则应该是:

    RewriteRule ^dev/cserv/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([0-9]+)/?$ /dev/cserv/index.php?a=$1&car=$2&year=$3&engine=$4&service=$5 [L]
    

    经过测试HERE

相关问题