网络日志在加载 wordpress 站点内的文件夹时显示 404
Network log shows 404 at beginning of load for folders within wordpress site
在我的 wordpress 站点中,我有一个名为 projects 的文件夹。每当我访问项目目录中的页面时,日志中的第一个响应是 404。虽然这似乎对页面没有影响,但这似乎意味着搜索引擎没有索引这些页面,因为它们首先响应它们从页面得到的是404.
例如:
http://www.caseyrule.com/projects/sounds-of-sorting/
如果您打开 javascript 控制台并查看网络日志,您会看到第一个响应是页面本身的 404,然后是页面的所有资产加载成功。
我尝试在 .htaccess 中添加一行以将该目录从项目文件夹的重写中排除,但这并没有解决问题。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(projects) - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
知道这里会发生什么吗?
更新: 我一直在做一些实验,似乎我看到这个错误的唯一页面是包含 wp-blog-header.php
的页面,顺序使用 wp_nav_menu
和 get_search_form
.
等 wordpress 函数
include dirname(__FILE__).'/../wordpress/wp-blog-header.php';
我仍然不清楚为什么这会导致页面的第一个响应是 404。
查看您的日志显示 header 中带有 404 状态代码的 http 响应与携带所有数据的响应相同。
这又清楚地表明404状态码不是服务器因为没有找到页面而生成的,它是由wordpress中的一些php代码生成的。
您可以查看代码以找到 header()
函数,然后从那里进行调试。
无论如何,查看您的网站,我无法重现该问题。要么你修复了它,要么它是一个暂时的问题,可能是由于不兼容的插件或类似的。
在 birgire 的帮助下,我想出了这个:
修复就像替换一样简单:
include dirname(__FILE__).'/../wordpress/wp-blog-header.php';
和
include dirname(__FILE__).'/../wordpress/wp-load.php';
来自 wordpress.stackexchange.com
的 this thread 中的更多信息
在我的 wordpress 站点中,我有一个名为 projects 的文件夹。每当我访问项目目录中的页面时,日志中的第一个响应是 404。虽然这似乎对页面没有影响,但这似乎意味着搜索引擎没有索引这些页面,因为它们首先响应它们从页面得到的是404.
例如:
http://www.caseyrule.com/projects/sounds-of-sorting/
如果您打开 javascript 控制台并查看网络日志,您会看到第一个响应是页面本身的 404,然后是页面的所有资产加载成功。
我尝试在 .htaccess 中添加一行以将该目录从项目文件夹的重写中排除,但这并没有解决问题。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(projects) - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
知道这里会发生什么吗?
更新: 我一直在做一些实验,似乎我看到这个错误的唯一页面是包含 wp-blog-header.php
的页面,顺序使用 wp_nav_menu
和 get_search_form
.
include dirname(__FILE__).'/../wordpress/wp-blog-header.php';
我仍然不清楚为什么这会导致页面的第一个响应是 404。
查看您的日志显示 header 中带有 404 状态代码的 http 响应与携带所有数据的响应相同。
这又清楚地表明404状态码不是服务器因为没有找到页面而生成的,它是由wordpress中的一些php代码生成的。
您可以查看代码以找到 header()
函数,然后从那里进行调试。
无论如何,查看您的网站,我无法重现该问题。要么你修复了它,要么它是一个暂时的问题,可能是由于不兼容的插件或类似的。
在 birgire 的帮助下,我想出了这个:
修复就像替换一样简单:
include dirname(__FILE__).'/../wordpress/wp-blog-header.php';
和
include dirname(__FILE__).'/../wordpress/wp-load.php';
来自 wordpress.stackexchange.com
的 this thread 中的更多信息