首页  >  问答  >  正文

RewriteRule 分割参数的最后一个字符

这里我尝试重写 .htaccess 中的参数并使最后一个参数可选:

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

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

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

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

P粉081360775P粉081360775306 天前439

全部回复(1)我来回复

  • P粉541796322

    P粉5417963222024-01-11 15:11:06

    由于使用了量词 + 以及其间的可选 /,您的正则表达式模式不正确。

    您可以使用此规则:

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

    回复
    0
  • 取消回复