.htaccess RewriteRule拆分参数的最后一个字符

bt1cpqcv  于 2023-04-21  发布在  其他
关注(0)|答案(1)|浏览(117)

在这里,我尝试重写.htaccess中的参数,并将last参数设置为可选:

RewriteRule ^produktas/([0-9a-zA-Z_-]+)/?([0-9a-zA-Z_-]+) /produktas?slug=$1&var=$2 [NC,L]

因此,如果我输入http://site.lt/produktas/the-glass,那么我实际上希望得到http://site.lt/produktas?slug=the-glass,但第二个参数var我希望是空的。但是当我运行它时,我得到了我的第一个参数spit,我的$_GET变量看起来像这样:

Array ( [slug] => the-glas [var] => s )

如果我只输入一个参数,如何让第一个参数为full,第二个参数为空:http://site.lt/produktas/the-glass

yh2wf1be

yh2wf1be1#

您的正则表达式模式不正确,因为使用了量词+,并且之间有可选的/
您可以使用此规则:

RewriteRule ^produktas/([\w-]+)(?:/([\w-]+))?/?$ produktas?slug=$1&var=$2 [NC,L,QSA]

相关问题