为Django URL添加全局前缀

时间:2019-06-12 07:11:11

标签: django

我不想使用子域,而是要添加以下子文件夹:

burger.domain.com -> domain.com/organization/burger /

是否可以添加全局/organization/<name:str>/

1 个答案:

答案 0 :(得分:0)

好吧,如果您有NGINX / Apache之类的反向代理服务器,则可以更新X-Script-Name。例如在NGINX中:

location /organization {
    proxy_pass http://127.0.0.1:8000;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Scheme $scheme;
    proxy_set_header X-Script-Name /organization;
}

这样,django将在路径/organization(根据X-Script-Name的配置)中提供。您还可以检出此blog,以获得有关使用Apache部署django的更多信息。

但是,如果您没有这样的反向代理服务器,则可以使用FORCE_SCRIPT_NAME。在Django设置中,添加以下行:

FORCE_SCRIPT_NAME = '/organization'