Apache 2.4 AH00687:协商:发现与请求匹配的文件:(无法协商)

Apache 2.4 AH00687:协商:发现与请求匹配的文件:(无法协商)

Windows 11 上的 Apache 2.4,因此是 localhost。

我正在运行一个 Wordpress 网站,Apache 可以正确提供除一个 URL 之外的所有 URL。一个 URL 出现 404 错误。Apache 错误日志包含此错误:

AH00687:协商:发现与请求匹配的文件:C:/wwwroot/site/the-page;(无法协商)。,引用者:http://localhost:8090/

Apache 为何可以为所有其他 PHP 页面(Wordpress 页面,而非帖子)提供服务,却不能为这个页面提供服务?

我需要做什么来解决这个问题?

该页面在生产环境中正常运行。我将 Wordpress 数据库恢复到本地主机,以防本地副本出现损坏问题,但问题仍然存在。

另请注意,对于所有其他 404 错误,Apache 都会提供我的自定义 404 页面。对于问题 URL,它仅提供通用 404 消息。

该 URL 最近在两周前还可以使用,恢复 .htaccess 文件也无法解决问题。

答案1

经过这么长时间,问题最终被证实是位于 WordPress 项目根目录中的一个随机文件的问题。具体来说:

/wwwroot/<project>/wp-content/themes/<theme>/page-my-page-file.php
/wwwroot/<project>/my-page-file.txt

换句话说:

WordPress 模板页面遵循以下约定:“page-*.php”并且位于主题的根目录中。

如果项目根目录中存在与模板文件同名但没有以“page-”开头的文件,则 Apache/WordPress 将不会提供该网页。

也许这会节省一些人的时间。

相关内容