Prestashop 1.7 后台子页面访问时重定向问题求助
Prestashop 1.7后台部分页面重定向至主页的Nginx排查方案
我帮你梳理几个实际运维中常见的排查方向,针对性解决你遇到的后台页面(比如Advanced>Preferences、Modules)跳转到主页的问题:
一、先核对Nginx里的Rewrite规则是否适配Prestashop
Prestashop对Nginx的伪静态规则有特定要求,尤其是后台路径的处理很容易出错:
- 首先确认你的配置里有没有针对后台路径的单独规则,比如默认后台是
/admin,正确的规则应该是这样:
如果你改了后台自定义路径(比如location /admin { if (!-e $request_filename) { rewrite ^/admin/(.*)$ /admin/index.php last; } }/my-shop-admin),记得把上面的/admin替换成你的实际路径。 - 检查全局的Rewrite规则,别让它把后台页面也强制跳转到首页。比如下面这种错误规则就会坑你:
要改成排除后台路径的版本:# 错误示例:没排除后台路径,所有非静态文件都跳首页 if (!-e $request_filename) { rewrite ^/(.*)$ /index.php last; }# 正确示例:跳过后台路径的全局跳转 if (!-e $request_filename) { set $rule_0 1$rule_0; } if ($request_uri !~ "^/admin") { # 替换成你的实际后台路径 set $rule_0 2$rule_0; } if ($rule_0 = "21") { rewrite ^/(.*)$ /index.php last; }
二、检查Prestashop后台的伪静态与URL设置
- 登录能正常访问的后台页面,到
Settings > SEO & URLs里确认:Friendly URL是否开启Enable Apache mod_rewrite(别被名字骗,Nginx环境下这个设置也影响伪静态规则生成)是否勾选Base URL是否和你访问用的域名一致(比如Homestead里的http://your-project.test)
三、确认文件权限与Nginx运行用户匹配
虚拟机里的权限问题经常导致后台加载异常进而触发重定向:
- 给Prestashop目录设置正确的权限,让Nginx的运行用户(一般是
www-data)能读写关键目录:sudo chown -R www-data:www-data /path/to/your/prestashop-project sudo chmod -R 755 /path/to/your/prestashop-project sudo chmod -R 777 /path/to/your/prestashop-project/cache /path/to/your/prestashop-project/log /path/to/your/prestashop-project/config
四、验证Nginx配置合法性并重启服务
每次改完配置都要先测试有没有语法错误,不然直接重启会搞挂服务:
sudo nginx -t
如果输出test is successful,就重启Nginx生效:
sudo systemctl restart nginx
内容的提问来源于stack exchange,提问作者Robert
相关产品推荐
相关产品推荐

