文件真实路径:
http://abc.com/home/e/4/chmqq7/virtual/test.txt
想要的访问路径:
http://abc.com/test.txt
文件路径里面的 /e/4/chmqq7
和test.txt
都是动态的
有哪些实现方式,rewrite该怎么写?
文件真实路径:
http://abc.com/home/e/4/chmqq7/virtual/test.txt
想要的访问路径:
http://abc.com/test.txt
文件路径里面的 /e/4/chmqq7
和test.txt
都是动态的
有哪些实现方式,rewrite该怎么写?
你可以这么写
server {
listen 80;
server_name localhost;
location / {
alias /;
}
}
这样你就可以根据服务器的文件位置来访问你想要访问的文件了
前提是文件都放在/
目录下
想要的访问路径:http://abc.com/test.txt
如果是访问静态资源的话,这样的URL不太好,容易与前端路由混淆,建议加一个 static
前缀,访问 test.txt 时应该这样:
http://abc.com/static/test.txt
基于此,假设你服务器放文件的目录是 /home/static
,nginx 这样配:
location /static {
alias /home/static;
}
15 回答8.4k 阅读
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
这个要看你动态路径核心是要解决什么问题。
其实你这个可以认为是一种短路径的处理,只是短路径服务的地址还是本机地址而已。
其实还有一种更高级的处理,比如对文件的访问,采用对象存储,这样其实原始路径只是一种文件对象存储的一个可能属性,访问完全可以用另外的体系去访问。