.htaccess和空白值

时间:2014-05-14 07:12:23

标签: regex .htaccess mod-rewrite

这是我的.htaccess规则:

RewriteRule ^([a-zA-Z0-9\.]+)/([0-9\.]+)/(.*)/(.*)$ m.pl?id=$1&cv=$2&cu=$3&qty=$4

因此,像cpa/11/axg/4这样的链接会被正确重定向。

但如果第3个值是空白的,即

cpa/11//4,它不会被重定向到上面定义的规则。

我不知道如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

您可以有两个单独的规则来解决此问题:

RewriteRule ^([a-zA-Z0-9.]+)/([0-9.]+)/([0-9]+)/?$ m.pl?id=$1&cv=$2&qty=$3 [L,QSA]

RewriteRule ^([a-zA-Z0-9.]+)/([0-9.]+)/([^/]+)/([^/]+)/?$ m.pl?id=$1&cv=$2&cu=$3&qty=$4 [L,QSA]

答案 1 :(得分:0)

由于第三个参数是可选的,因此按如下方式解决:

RewriteRule ^([a-zA-Z0-9\.]+)/([0-9\.]+)/?(.*)/(.*)$ m.pl?id=$1&cv=$2&cu=$3&qty=$4