You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 11本地Apache 2.4环境下WordPress特定URL出现AH00687错误导致404的问题求助

Windows 11本地Apache 2.4环境下WordPress特定URL出现AH00687错误导致404的问题求助

根据你描述的情况,这个AH00687错误是Apache的**内容协商模块(mod_negotiation)**触发的——简单来说,Apache找到了和请求URL匹配的文件,但无法确定要返回哪一个,最终返回了404。其他WordPress页面正常、唯独这个URL出问题,大概率是这个URL对应的文件/路径有特殊情况,或者Apache的配置干扰了WordPress的伪静态规则,下面是具体的排查和解决步骤:

  • 检查是否存在同名多后缀文件
    先去C:/wwwroot/site/目录下看看,有没有和问题URL(the-page)同名但后缀不同的文件?比如the-page.html、the-page.txt甚至无后缀的the-page文件?当mod_negotiation检测到多个匹配文件时,就会出现“无法协商”的错误。如果有这类文件,直接删除或重命名即可。

  • 关闭Apache的MultiViews选项
    MultiViews是mod_negotiation的一个功能,它会自动匹配URL对应的不同后缀文件,很容易和WordPress的伪静态重写规则冲突。你可以在站点的.htaccess文件最顶部添加一行:

    Options -MultiViews
    

    或者在Apache的站点虚拟主机配置里加上这个选项,然后重启Apache试试。

  • 重新保存WordPress固定链接设置
    有时候WordPress的重写规则会因为缓存、配置变更出现异常,登录WP后台,进入「设置」→「固定链接」,不需要修改现有设置,直接点击「保存更改」即可。这会强制重新生成正确的重写规则到.htaccess,很多时候能解决特定URL的重写问题。

  • 检查是否存在同名物理目录/文件
    确认问题URL的slug(the-page)是不是和站点根目录下的某个物理目录同名?比如如果有个C:/wwwroot/site/the-page/目录,Apache会优先尝试访问这个目录,而不是走WordPress的重写规则。如果存在这样的目录,要么重命名目录,要么调整Apache的配置让它优先走重写。

  • 开启Apache重写日志排查细节
    如果上面的方法都没解决,你可以开启Apache的重写日志来追踪这个URL的处理过程:
    在httpd.conf里添加以下配置:

    RewriteLogLevel 3
    RewriteLog "C:/Apache24/logs/rewrite.log"
    

    重启Apache后访问问题URL,然后查看rewrite.log,就能看到这个URL是如何被重写、跳转的,从中可以找到为什么没有匹配到WordPress页面的原因。

  • 排查自定义重写规则或插件影响
    回忆下最近两周有没有安装新插件、修改主题的functions.php添加自定义重写规则?这些内容可能会干扰这个特定URL的处理。可以尝试暂时禁用所有插件,或者切换到默认主题(比如Twenty Twenty-Four),看看问题是否消失,以此排查是不是第三方代码导致的冲突。

备注:内容来源于stack exchange,提问作者Karl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 11:19:29