繁体   English   中英

301重定向仅删除主页上的查询字符串

[英]301 Redirect to remove query string on homepage only

我不知道.htaccess重定向规则。 如果用户输入http://example.com?abc=123https://example.com?who=123 https://example.com https://example.com?xyz=123带有 301 重定向的https://example.com

如果用户输入任何查询字符串,那么它应该重定向到主页,但我只需要在主页而不是内部、plp 或 pdp 页面上实现它。

我的 plp URL 就像https://example.com/sale.html用户可以通过分层导航过滤器在此页面上添加查询字符串。 我们同意 plp 页面。

请帮助我并提供.htaccess规则或任何其他方式来完成此操作。 我正在使用 Magento2 并使用 Fastly,如果通过 Fastly 在 Magento2 中有任何可能,那么它将很容易实现。

要删除对根 URL 的任何请求的查询字符串,请仅在.htaccess文件的顶部添加以下内容:

# Remove query string on homepage only
RewriteCond %{QUERY_STRING} .
RewriteRule ^$ / [QSD,R=301,L]

如果这已经在文件的后面发生(我希望它发生),则不需要重复RewriteEngine On指令。

RewriteRule模式^$仅匹配根(即https://example.com/ )。 前面的条件RewriteCond指令)检查是否存在查询字符串(即至少 1 个字符,由正则表达式.表示)。

如果匹配,则触发 301(永久)重定向回到根目录 ( / ),但删除查询字符串。 QSD标志(查询字符串丢弃)从重定向响应中删除原始查询字符串。

注意:首先使用 302(临时)重定向进行测试(即将上面的RewriteRule指令中的R=301更改为R=302 )以避免潜在的缓存问题。 (301 由浏览器持久缓存,因此会使测试出现问题。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM