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

Ubuntu 22.04下Nginx添加新location后静态页面无法访问求助

解决Nginx中/newpage/静态页面无法访问的问题

核心问题:root指令的路径拼接逻辑错误

你当前配置的root /var/www/newpage/html配合location /newpage/时,Nginx会尝试查找的文件路径是/var/www/newpage/html/newpage/index.html,但你的实际文件存放在/var/www/newpage/html/index.html,路径不匹配导致404错误。

修复方案

有两种可行的调整方式:

方式1:使用alias指令替代root

alias会直接将请求路径映射到指定目录,不会拼接location的前缀,更适合这种场景:

location /newpage/ {
    alias /var/www/newpage/html/;
    index index.html;
    #auth_basic "Restricted Content";
    #auth_basic_user_file /etc/nginx/.htpasswd;
}

方式2:调整root路径匹配目录结构

要么把文件移动到/var/www/newpage/html/newpage/index.html,要么修改root路径为/var/www/newpage,让Nginx的查找路径和实际文件位置对应:

location /newpage/ {
    root /var/www/newpage;
    index index.html;
    #auth_basic "Restricted Content";
    #auth_basic_user_file /etc/nginx/.htpasswd;
}

额外检查项

  • 权限验证:确保Nginx进程(通常是www-data用户)拥有文件和目录的读取权限:
    sudo chown -R www-data:www-data /var/www/newpage
    sudo chmod -R 755 /var/www/newpage
    
  • 配置测试与重载:修改后先验证配置合法性,再重启Nginx生效:
    sudo nginx -t
    sudo systemctl reload nginx
    
  • 错误日志排查:如果问题仍存在,查看Nginx错误日志定位细节:
    sudo tail -f /var/log/nginx/error.log
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 12:02:55