如果网址匹配"feed"
,我正试图强制返回404:http://example.com/wordpress/?feed=rss2
我将RedirectMatch ^(.*)feed(.*)$ [R=404]
添加到.htacess但它没有返回任何404错误。
对于functions.php中的Wordpress,我可以使用下一个代码:
function fb_disable_feed() {
include( get_query_template( '404' ) );
header('HTTP/1.0 404 Not Found');
exit;
}
add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);
但它会将http://example.com/wordpress/?feed=rss2
(301)重定向到http://example.com/wordpress/feed
,然后才会返回404错误。
我需要http://example.com/wordpress/?feed=rss2
会返回404错误&不会重定向到http://example.com/wordpress/feed
答案 0 :(得分:3)
您可以通过mod_rewrite规则执行此操作,而不是使用WP PHP代码。
将此规则作为第一条规则放在主WP .htaccess中:
RewriteEngine On
RewriteCond %{THE_REQUEST} feed [NC]
RewriteRule ^ - [L,R=404]