正则表达式匹配没有查询字符串的 URL

时间:2021-01-24 00:23:46

标签: wordpress .htaccess mod-rewrite query-string friendly-url

Wordpress 上下文顺便说一句。放入htaccess。
仅当没有参数时,我才需要它来匹配网站 URL。

RewriteCond %{REQUEST_URI} ^/?$

我尝试阅读它并玩弄这条线,但没有任何效果。
TIA 获取任何提示。

编辑: 当没有路径和参数时,我需要正则表达式来匹配网站 URL。我只想在用户访问主页时重定向用户。但是使用它会使 wordpress 的内部链接失败,所以我使用 RewriteCond %{REQUEST_URI} ^/home/?$ 并仅在他们访问 home 时重定向它们。 我正在尝试阅读文档,但超出了我的头脑。

TIA 获取任何提示。

编辑 2:回答了原始问题,创建了新的 SO 问题

1 个答案:

答案 0 :(得分:2)

要在 URL 中设置 NO 查询字符串的条件,您应该尝试类似的方法。您在 htaccess 中查找的变量是 QUERY_STRING 并且匹配任何内容的概念/逻辑与您使用的相同,但我们不希望 / 在这里(用于您尝试的代码中的 REQUEST_URI),所以输入^$ 在此处匹配 NULL。

your rules here....
RewriteCond %{QUERY_STRING} ^$
Your rules further here...

注意: 条件在 htaccess 中的工作原理是,如果条件得到满足,则只会执行它们各自的操作/规则,因此请相应地使用它。这是 apache 的文档(在问题下也参考 arkascha 的评论)https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond