php - 为任何 Wordpress 的 feed/rss 返回 404

标签 php wordpress apache .htaccess mod-rewrite

如果 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/

相关文章:

php - 在 PHP 中从 SQL 格式化时间戳的最简单方法是什么?

php - Paypal IPN 捐赠

mysql - Wordpress 本地服务器到 Web 数据库

apache - 想要从 https URL 中删除端口号

php - 迁移和错误: Forbidden You don't have permission to access/on this server

php - 如何从 CSV 文件中拆分 php 中的字符串并插入数据库中的多行?

php - 使用 Microsoft Azure 在应用程序中连接到 MySQL 时出现问题

php - 不符合条件 无法在 Yii2 中工作

mysql - XML 导入到 WordPress 数据库

php - 使用 PHP 安装 RAR 包