【问题标题】:htaccess not loading 404 page (endless redirection)htaccess 未加载 404 页面(无休止的重定向)
【发布时间】:2015-01-26 01:34:04
【问题描述】:

这让我发疯了!我使用 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]

这给出了更多错误,解释了在 getheader() 处尝试查找我的 404.php 或 404.php 的第 10 行时出现 404 错误,并且它还完全删除了我的 BWP 站点地图。 我正在使用子主题,但我已将 404.php/header/footer/index 复制到子主题以使事情变得简单。 任何帮助将不胜感激

谢谢

【问题讨论】:

  • 检查我的答案以获取更新

标签: wordpress .htaccess http-status-code-404


【解决方案1】:

好的,我已经完全解决了这个问题,我将把它留在这里,而不是删除它,这样它可以帮助像我这样被这个问题困扰的其他人。我终于在我的 404 错误页面上解决了无限重定向的问题,此解决方案仅适用于您满足以下条件:

  • 正在使用 wordpress
  • 在您的网站上使用 SSL (HTTPS)
  • 正在尝试在所有页面上强制使用 SSL (HTTPS)
  • 已编辑 htaccess 或安装了强制 SSL (HTTPS) 的插件
  • 在更改 htaccess 之前,您的 404 页面必须正常运行

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

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

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

在意识到这一点后,我可以看到解决此问题的另一种方法是在 HTTPS 中加载 404 错误页面。

我希望这可以帮助其他人,即使它很明显。

【讨论】:

    猜你喜欢
    • 2016-11-21
    • 2011-12-05
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    • 2018-04-18
    • 2013-06-09
    • 1970-01-01
    相关资源
    最近更新 更多