如果 url 匹配 "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
最佳答案
您可以通过 mod_rewrite 规则代替使用 WP PHP 代码。
将此规则作为第一条规则放在您的主 WP .htaccess 中:
RewriteEngine On
RewriteCond %{THE_REQUEST} feed [NC]
RewriteRule ^ - [L,R=404]
关于php - 为任何 Wordpress 的 feed/rss 返回 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31949704/