.htaccess 重定向匹配不适用于较长的URL

.htaccess 重定向匹配不适用于较长的URL,.htaccess,rewrite,.htaccess,Rewrite,我对重定向匹配301有问题。它在顶级域和附加的一个变量(即 http://xenolith.ws/ redirects to xeno-mods.com http://xenolith.ws/explore redirects fine as well http://xenolith.ws/mods/122 does not work 我的重定向匹配如下所示: RedirectMatch 301 ^/(.*)$ http://xeno-mods.com/$1 我遗漏了什么?在测试配置时,不要

我对重定向匹配301有问题。它在顶级域和附加的一个变量(即

http://xenolith.ws/ redirects to xeno-mods.com
http://xenolith.ws/explore redirects fine as well
http://xenolith.ws/mods/122 does not work
我的重定向匹配如下所示:

RedirectMatch 301 ^/(.*)$ http://xeno-mods.com/$1

我遗漏了什么?

在测试配置时,不要使用301,请参见此答案

根据您的配置和您使用此重定向匹配的位置,前导的
/
将被删除或不删除。你可以试试

RedirectMatch .* http://xeno-mods.com/$0

您也可以只使用
重定向

Redirect / http://xeno-mods.com/
将所有请求重定向到新域

不要忘记在浏览器中重新加载,因为之前的301测试,浏览器可能已经缓存了一些结果


当重定向按预期工作时,可以再次插入301状态代码。但是如果没有它,测试就容易多了。

在测试配置时,不要使用301,请参见此答案

根据您的配置和您使用此重定向匹配的位置,前导的
/
将被删除或不删除。你可以试试

RedirectMatch .* http://xeno-mods.com/$0

您也可以只使用
重定向

Redirect / http://xeno-mods.com/
将所有请求重定向到新域

不要忘记在浏览器中重新加载,因为之前的301测试,浏览器可能已经缓存了一些结果


当重定向按预期工作时,可以再次插入301状态代码。但是没有它,测试就容易多了。

奇怪的是,一开始试着使用302而不是301。如果在301浏览器缓存可能阻止您测试新配置之前发生了一个错误。奇怪,请尝试首先使用302而不是301。如果您在301浏览器缓存之前出错,可能会阻止您测试新配置。感谢您的回复。但这不起作用。较长的URL仍然不起作用。@Axel较长的URL没有什么不同。如果这不起作用,则涉及其他规则或配置。在xenolith.ws或xeno-mods.com侧。在你的问题中,你能用一个例子说明较长的URL会发生什么情况吗?不工作的范围很广。您可以将其粘贴到浏览器中:它会给您一个404错误。@Axel给出一个404,但会重定向到。我刚刚在系统上设置了一个虚拟主机,并使用
RedirectMatch.*创建了一个.htaccesshttp://xeno-mods.com$0
,它可以正常工作。另一种选择是
重定向/http://xeno-mods.com/
也可以使用。我想说的是,您的配置中有其他规则,这些规则会阻止正确的重定向。我找到了它,谢谢您指出这一点。我需要添加“选项-多视图”,这使得mod、user等名称成为可能。否则它会删除它们或类似的东西,因为它们是保留的。谢谢你的回复。但这不起作用。较长的URL仍然不起作用。@Axel较长的URL没有什么不同。如果这不起作用,则涉及其他规则或配置。在xenolith.ws或xeno-mods.com侧。在你的问题中,你能用一个例子说明较长的URL会发生什么情况吗?不工作的范围很广。您可以将其粘贴到浏览器中:它会给您一个404错误。@Axel给出一个404,但会重定向到。我刚刚在系统上设置了一个虚拟主机,并使用
RedirectMatch.*创建了一个.htaccesshttp://xeno-mods.com$0
,它可以正常工作。另一种选择是
重定向/http://xeno-mods.com/
也可以使用。我想说的是,您的配置中有其他规则,这些规则会阻止正确的重定向。我找到了它,谢谢您指出这一点。我需要添加“选项-多视图”,这使得mod、user等名称成为可能。否则它会删除它们或类似的东西,因为它们是保留的。