【问题标题】:Send 404 status code on a specific WordPress page?在特定的 WordPress 页面上发送 404 状态码?
【发布时间】:2015-05-14 19:08:24
【问题描述】:

我需要在 WordPress 的特定页面上发送 404 状态代码。该页面未使用 404.php 模板。最好是在我的主题文件中执行此操作,而不是使用 .htaccess。

这是我所拥有的,但不起作用。

function my_404() {
  if ( is_page( 813 ) ) {
    header('HTTP/1.1 404 Not Found');
    echo 'Testing123'; //This outputs fine, so I know the code is running on the correct page
  }
}
add_action( 'wp', 'my_404' );

如果成功,页面看起来完全一样,除了通过网站分析器运行它会告诉我它返回 404 代码。但是,使用此代码,无论如何它仍然返回 200。

【问题讨论】:

    标签: php wordpress http-headers


    【解决方案1】:

    试试这个,应该会得到预期的结果:

    function my_404() {
      if ( is_page( 813 ) ) {
        global $wp_query;
        $wp_query->set_404();
        status_header(404);
        nocache_headers();
      }
    }
    
    add_action( 'wp', 'my_404' );
    

    【讨论】:

    • 它仍然返回 HTTP/1.1 200 OK
    • 查看我的编辑,尝试将 nocache_headers() 添加到函数中。总体思路肯定是正确的,因为它以前对我有用。另外请确保该页面未缓存在您的浏览器等中。
    猜你喜欢
    • 1970-01-01
    • 2018-10-20
    • 2018-03-07
    • 1970-01-01
    • 2022-07-07
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-29
    相关资源
    最近更新 更多