.htaccess仅重定向无参数首页,带URL参数时不跳转
解决仅无参数首页301重定向的正确配置
你之前的规则无效是因为%{REQUEST_URI}变量不包含URL的查询参数部分,?s=text这类参数存储在%{QUERY_STRING}变量中。要实现仅无参数的根首页跳转,需要同时匹配「请求路径为根目录」和「查询字符串为空」两个条件。
正确的Apache Rewrite规则配置如下:
RewriteEngine On # 确保URL没有任何查询参数 RewriteCond %{QUERY_STRING} ^$ # 匹配根路径的请求 RewriteRule ^$ https://www.site2.example/ [R=301,L]
规则说明:
RewriteCond %{QUERY_STRING} ^$:^$表示空字符串,这条规则用来过滤掉所有带查询参数的请求RewriteRule ^$ https://www.site2.example/ [R=301,L]:匹配根路径的请求,执行301永久重定向;L标志表示这是最后一条规则,停止后续规则的处理
配置完成后,只有www.site1.example/会被跳转,带任何参数的URL(如www.site1.example/?s=text)都不会触发重定向。
内容的提问来源于stack exchange,提问作者Gwendeling
相关产品推荐
相关产品推荐

