Drupal:我如何将匿名用户重定向到404而不是403?

Drupal:我如何将匿名用户重定向到404而不是403?

问题描述:

这是在Drupal 7.我有一些内容我想隐藏(而不是发布/取消发布)匿名用户。Drupal:我如何将匿名用户重定向到404而不是403?

有人做了一个复选框($hidden_value)已经做到这一点,但它重定向到403

$access = !$hidden_value['value'] ? user_access('access content') : !user_is_anonymous(); 

我想使这个重定向到404页等中hook_preprocess_page()我说:

if ($access === FALSE) { 
    drupal_not_found(); 
    } 

但这似乎不起作用 - 它仍然重定向到403.我也试过drupal_exit达到相同的结果。

有人会知道我能做些什么来解决这个问题吗?

您可以使用hook_node_view()

function hook_node_view($node, $view_mode) { 
    if (!user_is_logged_in()){ 
    drupal_not_found(); 
    }  
} 

https://api.drupal.org/api/drupal/modules%21node%21node.api.php/function/hook_node_view/7.x