优雅的URL设计是Django项目成功的关键。本文介绍如何利用Nginx和uWSGI配置,去除Django项目部署路径中冗余的URL片段,例如将 www.xxx.com/index/category 简化成 www.xxx.com/category。
问题: 假设你的Django项目部署在 www.xxx.com/index/category 路径下,如何通过Nginx和uWSGI隐藏/index
部分,直接通过 www.xxx.com/category 访问相应内容?
解决方案: 核心在于Nginx的反向代理配置。通过Nginx的proxy_pass
指令,我们可以将请求转发到uWSGI服务器,并同时移除冗余路径段。
在Nginx配置文件中,添加如下配置:
location / { proxy_pass http://127.0.0.1:8080/index; }
这段配置说明:当Nginx接收到任何以/
开头的请求时,都会将其转发到http://127.0.0.1:8080/index
。 因此,访问 www.xxx.com/category 时,Nginx会将请求转发到http://127.0.0.1:8080/index/category
,从而巧妙地隐藏了/index
路径段。 记住将127.0.0.1:8080
替换成你uWSGI服务器的实际地址和端口。