首页 文章

htaccess没有加载404页面(无限重定向)

提问于
浏览
1

这让我疯了!我使用wordpress并在我的htaccess中我有以下内容:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

在我的htaccess的最顶端,我试图把; Errordocument /index.php?error=404和其他替代方向,但它们导致页面不重定向或内部服务器错误等 .

我已经看到其中许多已在这里得到解决,但我没有找到一个案例,其中有人在他们的htaccess中有相同的代码 . 我试图删除

RewriteRule ^index\.php$ - [L]

RewriteRule . /index.php [L]

这给出了更多的错误,解释了在尝试找到我的404.php时遇到404错误或者在getheader()的404.php的第10行,它也完全删除了我的BWP站点 Map . 我正在使用子主题,但我已经将404.php / header / footer / index复制到了childtheme以简化操作 . 任何帮助将不胜感激

谢谢

1 回答

  • 1

    好的,我已经完全解决了这个问题,而不是删除它,我会留在这里,所以它可以帮助像我这样的人一直坚持这个问题 . 我终于在404错误页面上通过无限重定向解决了问题,如果您有以下条件,此解决方案将仅适用于您:

    • 正在使用wordpress

    • 正在您的网站上使用SSL(HTTPS)

    • 正在尝试在所有页面上强制使用SSL(HTTPS)

    • 编辑了htaccess或安装了强制SSL(HTTPS)的插件

    • 在更改htaccess之前,您的404页面必须正常运行

    • 如果您有以下条件,则只需删除已安装或更改的将HTTP重定向到HTTPS的任何内容,它可能是强制所有页面上的SSL(HTTPS)或htaccess中的某些代码的插件(您应该知道你添加或更改了什么 .

    一旦删除它进入wordpress并编辑你的主页,你会在右侧看到它将有一个启用SSL复选框(这会将HTTP重定向到HTTPS,仅强制当前页面的HTTPS),只需勾选此框然后对于要在SSL(HTTPS)中显示的所有页面重复,请务必更新已更改为SSL(HTTPS)的所有页面,并且完成 .

    我花了很长时间才意识到,通过这样做,我在所有页面上强制使用SSL(HTTPS),并且在htaccess中有任何其他类似插件或代码片段只是让循环无限(因为wordpress已经将HTTP重定向到HTTPS其他任何相同的操作都会产生无限循环),404页面无限重定向,因为404错误页面只在HTTP中加载而不是HTTPS,使其成为强制SSL(HTTPS)插件或代码片段重定向的目标 .

    实现这一点后,我可以看到另一种解决方法是在HTTPS中加载404错误页面 .

    我希望这可以帮助别人,即使它很明显 .

相关问题