Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 重定向规则创建循环_.htaccess_Redirect_Mod Rewrite - Fatal编程技术网

.htaccess 重定向规则创建循环

.htaccess 重定向规则创建循环,.htaccess,redirect,mod-rewrite,.htaccess,Redirect,Mod Rewrite,我在htaccess上有一个重定向规则,它只是将父页面指向它的子页面 Redirect 301 /swu-members-only/ /swu-members-only/home/ 但是,当我尝试访问我试图重定向的页面时,它会返回如下URL: 是什么导致这样的重定向循环发生的?非常感谢您提出的任何修复建议。重定向循环的原因是您重写的模式也与目标路径匹配。因此,当客户端将下一个请求发送到指定的目标时,它会再次被重定向 您可以通过强制进行精确匹配来解决此问题: RedirectMatch "^/s

我在htaccess上有一个重定向规则,它只是将父页面指向它的子页面

Redirect 301 /swu-members-only/ /swu-members-only/home/
但是,当我尝试访问我试图重定向的页面时,它会返回如下URL:


是什么导致这样的重定向循环发生的?非常感谢您提出的任何修复建议。

重定向循环的原因是您重写的模式也与目标路径匹配。因此,当客户端将下一个请求发送到指定的目标时,它会再次被重定向

您可以通过强制进行精确匹配来解决此问题:

RedirectMatch "^/swu-members-only/?$" "/swu-members-only/home/"
另一种选择是使用重写模块,它提供了更大的灵活性:

RewriteEngine on
RewriteRule "^/?swu-members-only/?$" "/swu-members-only/home/" [R=302]

还有一个一般性的注释:您应该总是更喜欢将这些规则放在http服务器主机配置中,而不是使用动态配置文件.htaccess。这些动态配置文件增加了复杂性,通常是导致意外行为的原因,难以调试,它们确实降低了http服务器的速度,通常是免费的,而且它们可以打开安全噩梦的通道。它们仅在您无法访问真正的http服务器主机配置的情况下提供。请阅读:非常便宜的服务提供商。

是什么导致重定向循环?这不是ovious吗?谢谢@arkascha的评论,但您对我如何使用htaccess将家长指向子页面有什么建议吗?非常感谢您,先生!这真管用!并在你的评论中提到。已采纳的要点。再一次,万分感谢!