Heim  >  Fragen und Antworten  >  Hauptteil

RewriteRule teilt das letzte Zeichen des Parameters

Hier versuche ich, die Parameter in .htaccess neu zu schreiben und den letzten Parameter optional zu machen:

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

Wenn ich also die Variable http://site.lt/produktas/the-glass,那么我希望实际上得到 http://site.lt/produktas?slug= the-glass,但第二个参数 var 我希望为空。但是当我运行它时,我得到了第一个参数,我的 $_GET eingebe, sieht es so aus:

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

Wenn ich nur einen Parameter eingebe, wie kann ich dann den ersten Parameter voll und den zweiten Parameter leer machen: http://site.lt/produktas/the-glass?

P粉081360775P粉081360775306 Tage vor440

Antworte allen(1)Ich werde antworten

  • P粉541796322

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

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

    您可以使用此规则:

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

    Antwort
    0
  • StornierenAntwort