改变可选参数的 htaccess

Altering htaccess for optional parameters

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

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

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

所以我尝试了以下方法

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

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

有什么想法可以将其更改为仅需要 2 个参数,其中第 3 个和第 4 个参数是可选的但已被识别?

如能提供任何帮助,我们将不胜感激!

谢谢。

您可以使用:

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