【问题标题】:Remove slash in htaccess ReWrite rule删除 htaccess 重写规则中的斜杠
【发布时间】:2019-02-17 15:27:31
【问题描述】:

我有一个包含 2 个参数的 ReWrite 规则,但由于 URL,nav 参数之前显示了 /

RewriteRule ^([^/]+)(/[a-zA-Z0-9-/_]+)?$ index.php?pagename=$1&nav=$2 [L,QSA]

有没有办法可以去掉 htaccess 代码中的斜线?

【问题讨论】:

  • 这有点不清楚。您点击的输入 URL 是什么,您得到的输出是什么以及您的预期输出是什么?

标签: .htaccess url-rewriting


【解决方案1】:

将斜线/ 移出捕获组^([^/]+)(/[a-zA-Z0-9-/_]+)?$ 就像这样^([^/]+)/([a-zA-Z0-9-/_]+)?$

【讨论】:

    【解决方案2】:

    像这样:

    RewriteRule ^([^/]+)(?:/([\w/-]+))?$ index.php?pagename=$1&nav=$2 [L,QSA]
    
    • (?:...)? 是一个可选的非捕获组
    • ([\w/-]+) 在这个非捕获组内将填充第二个捕获组

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-12
      • 2014-10-22
      • 2018-02-20
      • 2016-01-03
      相关资源
      最近更新 更多