修改WordPress中的HTTP响应标头

时间:2016-04-07 09:43:01

标签: wordpress httpresponse

如何修改HTTP响应标头并删除WordPress 4.4.2中的“链接”和“X-Pingback”?

仅在.htaccess中还是在functions.php中?

请不要与文件中的头部区域混淆!

4 个答案:

答案 0 :(得分:3)

/* Remove X-Pingback in the HTTP header */

add_filter('wp_headers', function($headers) {

unset($headers['X-Pingback']);

return $headers;

});

这个(AITpro的解决方案)也适用于删除HTTP标头中Rest API的链接:

/ *删除HTTP标头中的Rest API链接* /

remove_action('template_redirect','rest_output_link_header',11,0);

请检查链接[https://wordpress.org/support/topic/wp-44-remove-json-api-and-x-pingback-from-http-headers][1]

答案 1 :(得分:1)

对于Wordpress 4.9.1。 在你主题的functions.php中:

//remove Link header for rest api
remove_action('template_redirect', 'rest_output_link_header', 11, 0 );
//remove Link header for shortlink
remove_action('template_redirect', 'wp_shortlink_header', 11, 0 );
//remove X-Pingback header
add_filter('pings_open', '__return_false');
// Optional. Disable xmlrpc
add_filter('xmlrpc_enabled', '__return_false');

/wp-includes/default-filters.php

中的更多过滤器和操作

答案 2 :(得分:0)

将其添加到您的functions.php文件中:

function remove_unwanted_headers($headers) {
    unset($headers['X-Pingback']);
    unset($headers['Link']);
    return $headers;
}

add_filter('wp_headers', 'remove_unwanted_headers');

答案 3 :(得分:0)

这篇文章很老,但就我而言,我没有解决在主题的functions.php中使用remove_action函数的问题。我仍然在Rest Api响应中看到Link标头,因此解决问题的方法是使用我的Rest Api的回调函数中的php函数header_remove

add_action( 'rest_api_init', function () {
        register_rest_route( 'api/v1', '/endpoint', array(
            'methods'  => 'GET',
            'callback' => array( $this, 'get_endpoint' ),
            'args' => array(),
        ) );} );

然后在回调函数中

public function get_endpoint( WP_REST_Request $data = null ) {
header_remove("Link");
//Rest of the code
}