通过nginx访问静态文件配置,均是在server模块中配置,有两种方式:
1、alias
通过alias关键字,重定义路径,如
server{
listen 7001;
server_name 127.0.0.1;
location /file/ {
alias /home/china/areas/;
}
}
此时,通过浏览器访问http://127.0.0.1:7001/file/t.txt,则访问服务器的文件是/home/china/areas/t.txt
alias可以使用正则表达式,如
location ~ ^/test/(\w+).(\w+)$ {
alise /home/china/$2/$1.$2;
}
访问/test/t.conf,则实际访问的是/home/china/conf/t.conf
2、root
通过root关键字,重定义路径,如
server{
listen 7002;
server_name 127.0.0.1;
location /test/ {
root /home/china/areas/;
}
}
此时,通过浏览器访问http://127.0.0.1:7001/test/t.txt,则访问服务器的文件是/home/china/areas/test/t.txt
上述两种方法均可达到目的,区别是它们对路径的解析方式不同,alas会把指定路径当作文件路径,
而root会把指定路径拼接到文件路径后,再进行访问。
alias方式
- 文件路径:D:\Program Files\nginx\nginx-1.18.0\vr\test.gif
- 访问路径:http://localhost/vr/test.gif
- nginx配置:
server {
listen 80;
server_name localhost;
location /vr/ {
alias 'D:\\Program Files\\nginx\\nginx-1.18.0\\vr\\';
}
}
- 也就是说alias重定义
/vr/
路径为D:\\Program Files\\nginx\\nginx-1.18.0\\vr\\
文件夹路径
root方式
- 文件路径:D:\Program Files\nginx\nginx-1.18.0\vr\test.gif
- 访问路径:http://localhost/vr/test.gif
- nginx配置:
server {
listen 80;
server_name localhost;
location /vr/ {
root 'D:\\Program Files\\nginx\\nginx-1.18.0\\';
}
}
- 也就是说root追加
/vr/
路径到D:\\Program Files\\nginx\\nginx-1.18.0\\
文件夹路径下,如果写成D:\\Program Files\\nginx\\nginx-1.18.0\\vr\\
,则在nginx中将会访问D:\\Program Files\\nginx\\nginx-1.18.0\\vr\\vr\\
路径,而此时D:\\Program Files\\nginx\\nginx-1.18.0\\vr\\vr\\test.gif
并不存在,因此会报404
还有个注意点是如果不是图片或者常用的格式,则可能会直接下载。比如jfif图片直接下载,而png、jpg等会直接显示出来。
————————————————
版权声明:本文为CSDN博主「panda-star」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chinabestchina/article/details/73556785
更多推荐