如何使用 htaccess 从 url 中删除 GET 参数?

2023-12-20

我的网站除了一页之外不使用任何 GET 参数。尽管如此,我可以看到 Google 成功地使用 GET 参数索引了我的一堆页面。这对于 SEO(重复内容)来说不太好......

因此,我尝试编辑 .htaccess 以在所有带 GET 参数的 url 到不带 GET 参数的 url 之间进行 301 重定向(一个 url 除外)。一些例子:

  • example.com/?foo=42 => example.com/
  • example.com/about?bar=42 => example.com/about
  • example.com/r.php?foobar=42 => url r.php 应保留 GET 参数

到目前为止,我试图删除所有 GET 参数,但它不起作用。

RewriteEngine On 

RewriteRule ^(.*)\?(.*)$ http://www.example.com/$1 [L,NC,R=301]

知道如何解决这个问题吗?


您无法使用以下方式匹配查询字符串RewriteRule.

您可以使用此通用规则删除所有查询字符串,但具有以下条件的请求除外:DOT:

RewriteEngine On

RewriteCond %{QUERY_STRING} .
RewriteRule ^([^.]*)$ /$1? [L,NE,R=301]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 htaccess 从 url 中删除 GET 参数? 的相关文章

随机推荐