You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OctoberCMS本地开发:Nginx下Chrome访问/backend报404

排查Chrome访问OctoberCMS后台404但Firefox正常的问题

我之前也碰到过类似的跨浏览器访问差异问题,结合你的Nginx配置和场景,给你几个具体的排查方向:

  • 先确认Nginx站点是否正确启用
    你同时存在default和movies两个站点配置,先检查movies是否已经创建软链接到sites-enabled目录:

    ls -l /etc/nginx/sites-enabled/
    

    如果没看到movies的链接,执行以下命令启用站点并重启Nginx:

    sudo ln -s /etc/nginx/sites-available/movies /etc/nginx/sites-enabled/
    sudo systemctl restart nginx
    

    这里要注意:default站点的根目录是/var/www/html,而movies指向你的项目路径/var/www/html/movies,如果movies没启用,Chrome可能会走default配置,自然找不到OctoberCMS的后台路由。

  • 清除Chrome的缓存和Cookie
    Chrome对本地开发环境的缓存处理经常比Firefox更顽固。按Ctrl+Shift+Delete打开清除界面,勾选缓存的图片和文件以及Cookie和其他网站数据,完成清除后再测试。也可以直接用Chrome的无痕模式访问localhost/backend,如果无痕模式能正常访问,那基本就是缓存导致的问题。

  • 检查Nginx的server_name匹配和优先级
    你的movies站点配置里server_name写了两次localhost,虽然不影响功能,但可以改成server_name localhost;更规范。另外,default站点是default_server,如果movies启用后,localhost的请求应该优先匹配movies配置,但缓存可能会干扰这个逻辑。可以临时禁用default站点(删除sites-enabled里的软链接),重启Nginx后再测试Chrome是否正常。

  • 验证OctoberCMS的URL重写规则是否生效
    你的movies配置里已经包含了October需要的重写规则,但可以开启rewrite日志确认规则是否生效。在movies的server块里添加:

    rewrite_log on;
    error_log /var/log/nginx/movies_rewrite.log notice;
    

    重启Nginx后,用Chrome访问localhost/backend,然后查看日志:

    sudo tail -f /var/log/nginx/movies_rewrite.log
    

    观察请求是否被正确重写到index.php,如果没有,可能是重写规则存在问题(不过你的规则看起来是符合October官方要求的)。

  • 检查文件和目录权限
    虽然Firefox能正常访问,但Chrome可能因为权限缓存或其他细节出现差异。执行以下命令设置OctoberCMS需要的权限:

    sudo chown -R www-data:www-data /var/www/html/movies
    sudo chmod -R 755 /var/www/html/movies/storage
    
  • 排查Chrome的HSTS强制跳转
    如果之前你给localhost配置过HTTPS,Chrome可能会强制使用HTTPS访问,导致HTTP的localhost/backend出现404。在Chrome地址栏输入chrome://net-internals/#hsts,在Delete domain security policies输入框中填入localhost,点击Delete后重启Chrome再测试。

内容的提问来源于stack exchange,提问作者Nirmal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:28:57