Php 更改可选参数的访问权限
我有一个htaccess重写规则,允许用斜杠传递3个参数。第三个参数是可选的。我现在试图改变它,得到第四个可选参数Php 更改可选参数的访问权限,php,apache,.htaccess,Php,Apache,.htaccess,我有一个htaccess重写规则,允许用斜杠传递3个参数。第三个参数是可选的。我现在试图改变它,得到第四个可选参数 RewriteRule ^.*$ - [NC,L] RewriteRule ^([^/]+)/([^/]+)/?(.*)$ index.php?1=$1&2=$2&3=$3&4=$4 [NC,QSA,L] ^^ 此代码无法识别第4个参数 RewriteRule ^.*$ - [NC,L] RewriteRule ^([^/]+)/([^/]+)/?(.*)
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] ^^
所以我尝试了以下方法
RewriteRule ^.*$ - [NC,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?(.*)$ index.php?1=$1&2=$2&3=$3&4=$4 [NC,QSA,L] ^^
但这会添加一个必需的第四个参数,如果禁用该第四个参数,则该参数不起作用
有什么想法我可以改变这一点,只需要2个参数,第3和第4是可选的,但承认
任何帮助都将不胜感激,如果可能的话,请稍作解释
谢谢。您可以使用:
RewriteRule ^([^/]+)/([^/]+)(?:/([^/]*)(?:/([^/]*))?)?/?$ index.php?1=$1&2=$2&3=$3&4=$4 [QSA,L]
与其制定一条复杂的规则,不如制定多条规则,并按特定性降序排列。你能举个例子吗?我不知道你花了多少时间?