Drupal站点遇Too many redirects错误:未登录时首页无法访问
解决Drupal配置重定向后首页匿名访问出现"Too Many Redirects"的问题
这种问题我之前维护Drupal站点时也碰到过,核心原因基本都是匿名用户访问首页时触发了循环重定向——内页正常说明重定向规则在非首页场景下没问题,但首页的规则和Drupal自身的路由、权限设置撞车了。下面给你一步步排查和解决的思路:
可能的原因&对应解决方案
1. 重定向规则本身存在循环
- 先检查你配置的重定向规则,比如是不是同时设置了「首页 → /user/login」和「/user/login → 首页」?或者某个规则的目标路径绕了一圈又指向了首页。
- 解决办法:打开Drupal后台的重定向模块管理页面,搜索所有和首页(通常是
<front>或者/)相关的规则,删掉或修改那条导致循环的规则就行。
2. 匿名用户没有首页访问权限,触发自动重定向循环
- 如果你的首页是自定义页面(比如某个节点、视图),但匿名用户没权限访问它,Drupal会自动跳转到登录页,但如果登录页又被你的重定向规则指向首页,就会无限循环。
- 解决办法:
- 进入「权限」设置页面,确认匿名用户有访问首页对应内容的权限;
- 或者检查登录页的重定向规则,别把登录页又重定向回首页。
3. Drupal默认首页设置和重定向规则冲突
- 如果你在「配置 → 系统 → 基本站点设置」里指定了默认首页,同时又给这个默认路径配置了重定向到其他页面,就容易触发循环。
- 解决办法:
- 先把默认首页改成一个临时路径(比如
/node),测试首页是否正常; - 如果问题消失,再调整重定向规则,确保默认首页的重定向目标不会反向指向它。
- 先把默认首页改成一个临时路径(比如
4. 服务器层面的重定向规则和Drupal模块规则冲突
- 要是你在网站根目录的
.htaccess文件里加了首页相关的重定向规则,可能和Drupal重定向模块的规则叠加导致循环。 - 解决办法:
- 打开
.htaccess文件,搜索和/或首页相关的RewriteRule,暂时注释掉这些规则,测试是否恢复正常; - 如果问题解决,调整服务器层面的规则,和Drupal的重定向规则错开就行。
- 打开
快速排查小技巧
- 用浏览器的「开发者工具」(按F12)打开「网络」标签,刷新首页,看跳转的请求链,一眼就能看到哪两个路径在互相跳转,直接定位循环源头;
- 先禁用重定向模块,测试首页是否正常访问,如果正常,那肯定是模块里的规则有问题,再逐个启用规则排查就行。
内容的提问来源于stack exchange,提问作者sony
相关产品推荐
相关产品推荐

