获取“此网页有一个重定向循环”当许可被拒绝时


Getting "This webpage has a redirect loop" when permission denied

我在一个drupal网站上工作。而不是显示一个关于"没有找到权限"的页面,它只会导致重定向循环。

"Error 310 (net::ERR_TOO_MANY_REDIRECTS): There were too many redirects." - chrome error

谁能给我指个正确的方向?谢谢。

编辑:当用户已经登录并进入他们没有访问权限的页面时,就会发生这种情况。

问题发生在用户的login_register函数中。模块,它中断的地方是调用drupal_get_form('user_login')和drupal_get_form('user_register')。在user_login中,导致重定向的行是:if ($user->uid) {drupal_goto(");在user_register中,它是:if (!管理和美元,$user->uid) {drupal_goto('user/'。用户-> uid);当我注释掉那些drupal_goto行时,页面显示正确。

然而,它显示了我不想要的登录屏幕。我希望能够说"如果用户登录但没有权限查看此页面,则显示消息,否则如果用户未登录,则显示登录表单"

  • 检查你的403错误页面设置在这里:admin/settings/error-reporting。

  • 将主题切换为Garland以排除主题中的问题

如果这些不能暴露问题的原因,那么开始通过禁用模块来隔离问题。这样做的目的是隔离导致问题的模块。

1)备份你的数据库,这样你就可以很容易地回到你开始的地方,

2)去城镇禁用模块一个接一个。从定制模块和最近安装的模块开始,然后是可能处理访问的模块。然后,猜猜看

如果您发现导致问题的模块,然后检查是否有更新,或者查看项目问题队列,看看它是否是报告的问题。否则,报告。

好运。

我会跟踪HTTP报头来检查请求的内容。Zend调试器也可以提供帮助。

你需要确保"permission not found"对所有人都是可见的(也就是说,没有登录并且没有角色/权利/权限的观众)

也就是说,如果没有特定的权限,当前可能无法查看"permission not found"页面。因此,用户不允许查看"未找到权限"页面,并被重定向到"未找到权限"页面,该页面再次重定向到"未找到权限"页面,等等。

看起来对403页面的访问被拒绝了。这将在每次尝试访问403页面时将您发送到403页面,并以无限循环结束。