Drupal点击工具栏菜单跳转404需手动加index.php如何解决
Drupal 菜单跳转缺index.php无法访问解决方法
该问题由Drupal干净链接(Clean URLs)功能依赖的服务器重写规则未正确配置导致,按你使用的服务器环境对应操作即可:
Apache 环境配置
- 启用rewrite重写模块:打开Apache配置文件
httpd.conf,找到LoadModule rewrite_module modules/mod_rewrite.so行,删除行首的#注释符,保存文件。 - 修改目录权限配置:在
httpd.conf中找到Drupal站点根目录对应的<Directory>配置段,将段内的AllowOverride None修改为AllowOverride All,保存后重启Apache服务。 - 确认根目录存在
.htaccess文件:Drupal安装包根目录自带默认重写规则的.htaccess隐藏文件,若文件缺失可以从对应版本的官方安装包中复制一份放到站点根目录。
Nginx 环境配置
- 打开站点对应的Nginx配置文件,在
location /配置段中添加重写规则:
如果Drupal部署在域名根目录:
try_files $uri $uri/ /index.php?$query_string;
如果和你的场景一样部署在/drupal子目录:
try_files $uri $uri/ /drupal/index.php?$query_string;
- 保存配置后执行
nginx -s reload命令重载Nginx配置生效。
最后启用Drupal干净链接
服务器配置完成后,登录Drupal后台,进入配置 > 搜索和元数据 > 干净链接页面,勾选启用干净链接并保存,随后到配置 > 性能页面清除所有缓存即可,后续工具栏菜单跳转就会自动适配无index.php的路径。
内容的提问来源于stack exchange,提问作者Amir
相关产品推荐
相关产品推荐

