动态路径的文件访问问题

文件真实路径:

http://abc.com/home/e/4/chmqq7/virtual/test.txt

想要的访问路径:

http://abc.com/test.txt

文件路径里面的 /e/4/chmqq7test.txt 都是动态的

有哪些实现方式,rewrite该怎么写?

阅读 2.9k
3 个回答

这个要看你动态路径核心是要解决什么问题。

其实你这个可以认为是一种短路径的处理,只是短路径服务的地址还是本机地址而已。

其实还有一种更高级的处理,比如对文件的访问,采用对象存储,这样其实原始路径只是一种文件对象存储的一个可能属性,访问完全可以用另外的体系去访问。

你可以这么写

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;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题