m0_74640386 2022-10-24 23:17 采纳率: 100%
浏览 157
已结题

nginx配置多个静态网页,无法访问相对路径下图片资源?

环境:一个腾云服务器,装宝塔linux面包板,在面板软件中装了个nginx1.22.0
目标:
地址/test1加载一个静态网页,资源文件都在/www/server/my/test内
地址/test2加载另一个静态网页,资源文件都在/www/server/my/test2内
遇见问题:test2.html内代码的,bgGif无法访问/www/server/my/test/images内的图片。
是相对路径没填对?还是location设置有问题?或者用绝对路径应该怎么填?

nginx的location设置,如下
server
{
listen 80;
server_name localhost;

    #error_page   404   /404.html;
    include enable-php.conf;
    
    location /{
      root /wwwrver/my;
      index home1.html;
    }
    
    location /test{
      root /wwwrver/my;
      index test.html;
    }
    
    location /test2{
      root /wwwrver/my;
      index test2.html;
    }
    location /images{
      root /wwwrver/my/test2;
    }
    
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
    }

    location ~ /\.
    {
        deny all;
    }
    access_log  /www/wwwlogs/access.log;
}

include /wwwrver/panel7host inx/*.conf;
}

文件路径,如下两图

img

img

html代码

img

代码为网上下载,的一个表白网页源码
这里遇见问题,"./images/图片"资源无法访问


1我配置文件location应该如何写,才能相对路径下访问图片资源?
2 test2.html内<images src=,应该如何写绝对路径才能访问图片资源?
问题图片

img

问题补充1
我用这样的链接可以访问到txt文本
地址/test2/images/imgtxt2.txt
但是用
地址/test2/images/001.png
显示这样

img

是被nginx的默认配置里面的某项拒绝了访问图片么?
server配置内容在前面

问题补充2
注释掉了这3个location之后就可以了

img


问这3句话有什么用呀?

  • 写回答

5条回答 默认 最新

  • 游一游走一走 2022-10-26 13:06
    关注

    一步步排查吧!

    1. 在你每个root目录下放个test.txt文件,然后通过对应的url访问,确保location配置的是正确的
    2. 再单独访问你images中的图片能不能正常访问
    3. 使用chrome浏览器,F12,看控制台network,看你无法打开图片的URL与步骤2中的地址有啥区别
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 11月3日
  • 已采纳回答 10月26日
  • 修改了问题 10月26日
  • 修改了问题 10月26日
  • 展开全部

悬赏问题

  • ¥15 vs2022无法联网
  • ¥15 TCP的客户端和服务器的互联
  • ¥15 VB.NET操作免驱摄像头
  • ¥15 笔记本上移动热点开关状态查询
  • ¥85 类鸟群Boids——仿真鸟群避障的相关问题
  • ¥15 CFEDEM自带算例错误,如何解决?
  • ¥15 有没有会使用flac3d软件的家人
  • ¥20 360摄像头无法解绑使用,请教解绑当前账号绑定问题,
  • ¥15 docker实践项目
  • ¥15 利用pthon计算薄膜结构的光导纳