我有一个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个是可选的但是可以识别吗?
任何帮助都会受到赞赏,如果可能的话会有一点解释!
感谢。
答案 0 :(得分:0)
您可以使用:
RewriteRule ^([^/]+)/([^/]+)(?:/([^/]*)(?:/([^/]*))?)?/?$ index.php?1=$1&2=$2&3=$3&4=$4 [QSA,L]