如何修改HTTP响应标头并删除WordPress 4.4.2中的“链接”和“X-Pingback”?
仅在.htaccess中还是在functions.php中?
请不要与文件中的头部区域混淆!
答案 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
}