【问题标题】:URL rewrite more precise match, not URLs that just start with the same stringURL 重写更精确的匹配,而不是仅以相同字符串开头的 URL
【发布时间】:2015-09-18 02:06:24
【问题描述】:

假设我有 phpbb3 论坛软件,我想美化一些 URL。我把它放在我的 htaccess 中:

RewriteRule ^cake viewforum.php?f=5&%{QUERY_STRING} [L]

它适用于domain.tld/cakedomain.tld/cake/,但它也捕获domain.tld/cake-recipesdomain.tld/cake-recipes/,因此重写它们。

我怎样才能写出它只匹配那个确切的 URL,而不是那个字符串开头的 URL?

【问题讨论】:

    标签: .htaccess mod-rewrite


    【解决方案1】:

    您需要添加$ 以分隔您的规则模式。

    RewriteRule ^cake/?$ viewforum.php?f=5 [L,QSA]
    

    以上规则现在将只匹配domain.tld/cakedomain.tld/cake/

    此外,您可以通过添加QSA 标志来避免使用%{QUERY_STRING}(它的作用相同,但以更优雅的方式)

    【讨论】:

    • 谢谢,我现在应该知道这些了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    相关资源
    最近更新 更多