添加可选参数以重写规则

时间:2015-07-20 17:04:01

标签: regex apache .htaccess mod-rewrite

我的.htaccess文件中有以下规则:

RewriteRule ^inc/pro(.*)$ /incl/files/share.incl.php?proj=$1 [NC,L]

我需要修改规则以允许可能存在或可能不存在的潜在附加参数。

RewriteRule ^inc/pro(.*)?/?([a-zA-Z0-9_]+)?/?([a-zA-Z0-9_]+)?/?$ /incl/files/share.incl.php?proj=$1&opt1=$2&opt2=$3 [NC,L]

这实际上违反了我原来的规则......

我希望能够处理的网址是:

mydomain.com/inc/proAB2
mydomain.com/inc/proAB2/structure
mydomain.com/inc/proAB2/structure/code

1 个答案:

答案 0 :(得分:1)

您可以使用此规则:

RewriteRule ^inc/pro(\w+)(?:/(\w+)(?:/(\w+))?)?/?$ incl/files/share.incl.php?proj=$1&opt1=$2&opt2=$3 [NC,L,QSA]