是的,这里的关键是你应该把WordPress-specific 404 template 主题目录中的文件(例如。wp-content/themes/your-theme/404.php
) 并且不在根WordPress目录中。
尽管你已经找到了解决方案,我想你还是希望得到以下问题的答案?
我想知道是什么原因导致长贴子页面有时会显示,而不是;“哦,不”;消息
因此,在默认的WordPress设置中%postname%
作为post permalink结构,前两个请求(/a/b/test.gif
和/a/b/c/
) 不匹配任何(保存的)WordPressrewrite rules, 因此出现了404错误,但WordPress仍然会查询站点上最近的帖子,而这个查询就是我们所称的主(WordPress)查询。
当WordPress特定的404模板不可用时,默认索引模板(index.php
) 使用,因此您将看到长帖子页面,因为索引模板通常显示上述主查询中的帖子。
但是另外两个请求(/a/test.gif
和/a/b/
) 匹配了附件帖子请求(即,这些请求/URL有重写规则),因此WordPress将尝试查找附件帖子(test-gif
和b
如果未找到,则;“无内容”;将显示消息。看见have_posts()
和this part in Twenty Twenty-One\'s index template.
因此,重写规则定义查询,查询确定应使用的模板,以及index.php
是所有其他匹配模板时使用的默认模板(404.php
, category.php
, 等)不可用-请参阅WordPress template hierarchy 了解更多详细信息。