2009-10-20 68 views
4

我刚刚建立了一个新的Drupal站点,基于社区。有一些论坛包含“敏感”信息,但令人难以置信的是,Drupal自动生成分类术语的RSS源,这是论坛的基础。Drupal - 删除RSS

有没有内置的方式来关闭它!或者是一个模块来控制生成的Feed ...这是一个很大的问题。

使用Drupal 6.14。我不想破解的核心,但如果有人知道的方式来解决这个问题...这将是巨大的

感谢

+0

不属于serverfault,删除标签。 – Grayside 2009-10-25 01:51:24

回答

3

现在有一个Drupal模块,可以这么做:RSS Permissions。以下是其项目页面的摘录:

为博客,分类,聚合器和主站点的RSS源设置基于角色的权限设置。此模块不会完全禁用RSS提要:通过Views模块创建的RSS提要和其他未在此处列出的提要没有关联的权限。

RSS权限模块,您可以禁用部分或全部RSS提要根据不同的用户角色,

+0

最后修补了一些与.htaccess(我记得)的东西,但是一个可怜的修复 - 感谢你发布这个,模块解决方案会好得多。 – luke 2010-02-18 20:00:01

5

你可以尝试接管敏感的网址,并提供自定义模块中的hook_menu通话空白页面或错误消息。把它们关掉应该是核心,谷歌搜索在这个问题上显示了很多脾气暴躁的人。

+3

hook_menu_alter,并为每个RSS路径设置为FALSE的'页面回调'或'访问回调'。 – Grayside 2009-10-20 23:04:22

4

如果您使用的是Views模块,您可以启用taxonomy_term覆盖它提供的功能,并编辑它提供的两个馈送显示,调整它们仅适用于某些词汇表,甚至强制404请求任何请求。

请注意,这只是ceejayoz'(正确)建议的变体,因为该视图会“接管”供稿网址并为它们提供不同的服务。

+0

我更喜欢这个解决方案,作为一个安全但有用的中间地带。 – Grayside 2009-10-20 23:06:22

1

你可以在system.admin在system_rss_feeds_settings功能扩展的形式节“选项”值的列表。 inc - 在数组中添加“0”作为值。然后,这会将0作为“每个馈送中的项目数量”的值显示,从而抑制RSS馈送生成。

+1

感谢您的答复 - 正如上面发布的phpdiva,现在有幸得到了一个模块来让这个更容易:) – luke 2010-12-18 20:34:46

1

这适用于自定义模块。它将删除该页面以及该页面的HTML链接,这是针对D7的。确保你冲洗缓存。

function MYMODULE_menu_alter(&$items) { 
    $items['rss.xml']['page callback'] = 'drupal_not_found'; 
} 

function MYMODULE_html_head_alter(&$head_elements) { 
    foreach ($head_elements as $key => $v) { 
    if (strstr($key, 'rss.xml')) { 
     unset($head_elements[$key]); 
    } 
    } 
}