假设我有phpbb3论坛软件,我想要美化一些网址。我把它放在我的htaccess中:
RewriteRule ^cake viewforum.php?f=5&%{QUERY_STRING} [L]
适用于domain.tld/cake和domain.tld/cake/,但它也会捕获domain.tld/cake-recipes和domain.tld/cake-recipes/,因此会重写它们。
我该如何编写它以便它只匹配那个确切的URL,而不是以该字符串开头的URL?
答案 0 :(得分:0)
您需要添加$
才能界定规则模式。
RewriteRule ^cake/?$ viewforum.php?f=5 [L,QSA]
以上规则现在仅匹配domain.tld/cake
或domain.tld/cake/
。
此外,您可以通过添加%{QUERY_STRING}
标记(它以相同的方式,但以更优雅的方式添加)来避免使用QSA