改变htaccess可选参数

时间:2015-02-16 09:10:53

标签: php apache .htaccess

我有一个htaccess重写规则,允许使用正斜杠传递3个参数。第3个参数是可选的。我现在正试图改变它以获得第4个可选参数。

RewriteRule ^.*$ - [NC,L]
RewriteRule ^([^/]+)/([^/]+)/?(.*)$ index.php?1=$1&2=$2&3=$3&4=$4 [NC,QSA,L] ^^

此代码无法识别第4个参数。

所以我尝试了以下

RewriteRule ^.*$ - [NC,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?(.*)$ index.php?1=$1&2=$2&3=$3&4=$4 [NC,QSA,L] ^^

但是这会添加一个必需的第4个参数,如果第4个参数被关闭,它就不起作用。

我有什么想法可以改变它只需要2个参数,第3个和第4个是可选的但是可以识别吗?

任何帮助都会受到赞赏,如果可能的话会有一点解释!

感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用:

RewriteRule ^([^/]+)/([^/]+)(?:/([^/]*)(?:/([^/]*))?)?/?$ index.php?1=$1&2=$2&3=$3&4=$4 [QSA,L]