.htaccess 301 重定向与 rewriterule 冲突
.htaccess 301 redirect conflicting with rewriterule
我正在尝试重定向 URL 但它与重写规则冲突,我正在使用此重定向规则
Redirect 301 /antique-vintage-rugs/170-antique-oriental-rugs-carpets https://example.com/antique-vintage-rugs/170-antique-rugs
它把我带到了这里 link
https://example.com/antique-vintage-rugs/170-antique-rugs?action=clear&template=170-antique-oriental-rugs-carpets 而不是这个
https://example.com/antique-vintage-rugs/170-antique-rugs
我的重写URL是这个
RewriteCond %{QUERY_STRING} (.*)
RewriteRule ^antique-vintage-rugs/(.+) results.php?action=clear&template= [NC]
有什么方法可以获得所需的输出重定向 link?
您只需要在此处使用 mod_rewrite 而不是将其与 mod_alias (Redirect
指令所属的位置)混合使用。当您将两者混合使用时,两者最终都会处理相同的请求。
所以不要使用 Redirect
,而是使用:
RewriteRule ^antique-vintage-rugs/170-antique-oriental-rugs-carpets https://example.com/antique-vintage-rugs/170-antique-rugs [L,R=301]
但请确保它在您的其他规则之前。
我遇到了类似的问题。我试图从 cpanel 添加重定向,而我的 .htaccess 文件中已经写了一些重写规则。我得到的错误是 "No maching tag for "
我最终做的是保留我现有规则的副本并清理 .htaccess。然后去从 cpanel 添加我需要的所有重定向,然后最后在文件末尾放回我自己的重写规则。这对我有用
我正在尝试重定向 URL 但它与重写规则冲突,我正在使用此重定向规则
Redirect 301 /antique-vintage-rugs/170-antique-oriental-rugs-carpets https://example.com/antique-vintage-rugs/170-antique-rugs
它把我带到了这里 link https://example.com/antique-vintage-rugs/170-antique-rugs?action=clear&template=170-antique-oriental-rugs-carpets 而不是这个 https://example.com/antique-vintage-rugs/170-antique-rugs
我的重写URL是这个
RewriteCond %{QUERY_STRING} (.*)
RewriteRule ^antique-vintage-rugs/(.+) results.php?action=clear&template= [NC]
有什么方法可以获得所需的输出重定向 link?
您只需要在此处使用 mod_rewrite 而不是将其与 mod_alias (Redirect
指令所属的位置)混合使用。当您将两者混合使用时,两者最终都会处理相同的请求。
所以不要使用 Redirect
,而是使用:
RewriteRule ^antique-vintage-rugs/170-antique-oriental-rugs-carpets https://example.com/antique-vintage-rugs/170-antique-rugs [L,R=301]
但请确保它在您的其他规则之前。
我遇到了类似的问题。我试图从 cpanel 添加重定向,而我的 .htaccess 文件中已经写了一些重写规则。我得到的错误是 "No maching tag for " 我最终做的是保留我现有规则的副本并清理 .htaccess。然后去从 cpanel 添加我需要的所有重定向,然后最后在文件末尾放回我自己的重写规则。这对我有用