【问题标题】:Custom 404 Not Working for /index自定义 404 不适用于 /index
【发布时间】:2014-08-20 15:29:47
【问题描述】:

我们的 WordPress 自定义 404 效果很好,但是当您尝试访问 http://example.com/index 时,不会显示自定义 404。而是仅针对此 URL 显示默认 GoDaddy 404 页面。

需要明确的是,问题在于“/index”而不是“/index.php”

我尝试了几种解决方法,但似乎没有任何效果。有什么想法吗?

使用 genesis 主题,最新的 WordPress 版本,所有插件都是最新的,网站一般没有问题。

我可以添加一个特定的 HTACCESS 条目来处理这个网址吗?

这是我的根 htaccess 文件的内容:

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

# END WordPress

由 anubhava 修复,在我的 htaccess 文件中添加以下行到 WordPress 条目上方:

Options -MultiViews 

【问题讨论】:

  • 尝试将Options -MultiViews 放在您的.htaccess 顶部
  • 做到了,谢谢anubhava!我很好奇为什么需要这样做,和/或提供的代码是如何工作的。
  • 我已将此添加为答案,并在下面进行了一些解释。

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


【解决方案1】:

您可以通过放置此行来修复它:

Options -MultiViews

在您的 .htaccess 顶部。

选项MultiViews 由Apache's content negotiation module 使用,它在mod_rewrite 之前运行,并使Apache 服务器匹配文件的扩展名。所以 /file 可以在 URL 中,但它会为 /file.html 或 /file.php 提供任何在您的目录中找到的内容。

/index URI 得到 404 的原因可能是在打开 MultiViews 时,您的目录中有一些 index.* 文件。

【讨论】:

    猜你喜欢
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    • 2021-09-20
    • 1970-01-01
    • 2022-07-27
    • 2014-01-06
    • 1970-01-01
    相关资源
    最近更新 更多