如何在特定的WordPress网址上禁用404标头



我使用此代码将特定网址重定向到我定制的Wordpress主题上的php文件:

add_action('wp', function() {
if ( trim(parse_url(add_query_arg(array()), PHP_URL_PATH), '/') === 'pagename' ) {
include(locate_template('mysciprt.php'));
exit();
}});

(我知道我可以使用重写规则,但由于一些原因我需要使用此代码(。

这是伟大的工作。 问题是页面仍然具有 404 状态的 HTTP 标头。 这是一个问题,原因有几个(其中一些是:SEO,帖子脚本无法使用......

我的问题是:有什么办法可以解决它吗?

我尝试过的:

我尝试添加:

global $wp_query;
status_header(200);
$wp_query->is_page = true;
$wp_query->is_404  = false;

一开始没有帮助,然后我把action('wp'..改成了action('init'...,它有效! 但问题是我使用'wp'而不是'init'的原因是因为我需要在此脚本上使用get_query_var(),而使用'init'操作时我不能。

最终比我想的更简单:

刚刚添加:

global $wp_query;
status_header( 200 );
$wp_query->is_page = true;
$wp_query->is_404=false;

对于脚本.php文件本身,请先进行任何其他操作。

只需发送一个带有 200 状态代码的标头。试试这个:

header("HTTP/1.1 200 OK");

最新更新