[英]301 Redirect to remove query string on homepage only
我不知道.htaccess
重定向规则。 如果用户输入http://example.com?abc=123
或https://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.