将 3 个域名指向同一个 Django 应用,并为每个应用使用不同的 URL 提供服务

将 3 个域名指向同一个 Django 应用,并为每个应用使用不同的 URL 提供服务

所以我的 django 应用程序中有三个域和三个子目录。

假设我的 IP 是 xxxx

我希望应用程序像这样工作:

url_visited_by_the_user
content_served_from

www.domain1.com/
x.x.x.x/dir1/

www.domain1.com/bla/bla/
x.x.x.x/dir1/bla/bla/

www.domain2.com/
x.x.x.x/dir2/

www.domain2.com/bla/bla/
x.x.x.x/dir2/bla/bla/

www.domain3.com/
x.x.x.x/dir3/

www.domain3.com/bla/bla/
x.x.x.x/dir3/bla/bla/

我不想让用户看到 dir1、dir2 等。我正在使用 Nginx。有什么办法可以做到这一点吗?

复制自这个 stackoverflow 问题. 被要求就服务器故障进行询问。

答案1

您需要设置多个server块并为每个块定义一个root路径。在您的 nginx 配置文件中执行此操作。

server {

        listen   80;
        server_name www.domain1.com;
        root /x.x.x.x/dir1/;

        index index.html index.htm index.php;

        // other configurations
}
server {

        listen   80;
        server_name www.domain2.com;
        root /x.x.x.x/dir2/;

        index index.html index.htm index.php;

        // other configurations
}
server {

        listen   80;
        server_name www.domain3.com;
        root /x.x.x.x/dir3/;

        index index.html index.htm index.php;

        // other configurations
}

相关内容