如何在.htaccess中重定向带动态参数结尾的URL
正确的.htaccess重定向配置方案
直接用下面的规则就能实现需求,把所有带customize_changeset_uuid参数的URL重定向到不带任何查询参数的原路径:
RewriteEngine On # 匹配查询字符串中包含customize_changeset_uuid的请求 RewriteCond %{QUERY_STRING} ^customize_changeset_uuid= [OR] RewriteCond %{QUERY_STRING} &customize_changeset_uuid= # 重定向到当前请求的路径(去掉查询字符串),301为永久重定向 RewriteRule ^(.*)$ /$1? [R=301,L]
你之前的规则无效原因
- 第一个规则:
RewriteRule ^/?customize(.*)$ $1是匹配URL路径里的内容,但你的参数是在?后的查询字符串中,完全没命中目标请求。 - 第二个规则:
Redirect 301依赖完整URL匹配,你写死了动态变化的参数值,只有你指定的那个特定参数的URL会被重定向,其他情况无效。 - 第三个规则:
ErrorDocument 505是用来处理505错误的,和URL重定向完全无关,自然起不到作用。
内容的提问来源于stack exchange,提问作者Sascha
相关产品推荐
相关产品推荐

