我正在一个drupal网站上工作。它不会显示包含“未找到权限”的内容的页面,而只会导致重定向循环。
"Error 310 (net::ERR_TOO_MANY_REDIRECTS): There were too many redirects."
- 铬错误
有人能指出我正确的方向吗?感谢。
编辑:当用户已登录并转到他们无权访问的页面时,会发生这种情况。
问题发生在user.module中的login_register函数中,其中断的是对drupal_get_form('user_login')和drupal_get_form('user_register')的调用。在user_login中,导致重定向的行是:if($ user-> uid){drupal_goto('');在user_register中,它是:if(!$ admin&& $ user-> uid){drupal_goto('user /'。$ user-> uid);当我将那些drupal_goto行注释掉时,页面显示正确。
然而,它显示了我不想要的登录屏幕。我希望能够说“如果用户已登录但无权查看此页面,则显示消息,否则如果用户未登录,则显示登录表单”
答案 0 :(得分:1)
检查403错误页面设置的位置:admin / settings / error-reporting。如果它是空的,没有什么看起来不正常。
将您的主题切换为加兰,以排除主题中存在的问题。
如果这些没有暴露问题的原因,那么通过禁用模块开始隔离问题。这样做的目的是隔离导致问题的模块。
1)备份数据库,以便轻松回到开始的地方,
2)逐个去镇上禁用模块。从最近安装的自定义模块和模块开始,然后是可能处理访问的模块。在那之后,猜猜。
如果找到导致问题的模块,请检查是否有更新,或查看项目问题队列以查看是否报告了问题。否则,报告它。
祝你好运。答案 1 :(得分:1)
我会跟踪HTTP标头以检查请求的内容。 Zend调试器也可以提供帮助。
答案 2 :(得分:1)
您需要确保所有人都可以查看“未找到权限”(即,未登录且没有任何角色/权限/权限的查看者)。
也就是说,如果没有特定权限,可能无法查看“未找到权限”页面。因此,不允许用户查看“未找到权限”页面并被重定向到“未找到权限”页面,该页面再次重定向到“未找到权限”页面等等。
答案 3 :(得分:1)
看起来拒绝访问403页面。每当您尝试访问403页面时,这将发送到403页面,以无限循环结束。