【问题标题】:Can I have multiple domain names point to different subdirectories on the same server我可以让多个域名指向同一服务器上的不同子目录吗
【发布时间】:2017-06-18 15:06:09
【问题描述】:
我有两个域名www.blog.com和www.project.com
目前,www.blog.com/project 指向我的项目页面。我已将 nginx 配置为将任何对 /project 的请求重定向到我的 Django 项目。
我刚刚购买了www.project.com,我希望它显示与www.blog.com/project 相同的内容,而无需在浏览器中更改其URL。我不确定是否有办法使用 DNS(重定向不会保留 URL),或者确定请求是否来自服务器级别的 www.blog.com 或 www.project.com。
简而言之:
-
blog.com 一直指向根目录
-
blog.com/project 需要继续转发给 Django
-
project.com 现在需要出现在浏览器栏中并像 2 一样执行。
【问题讨论】:
标签:
django
nginx
dns
webserver
【解决方案1】:
理查德·史密斯成功了。创建一个新的服务器块是要走的路。我已经包含了 .conf 文件的相关部分,以防有人遇到此问题。
server {
listen 80;
server_name .project.com;
# set max upload size
client_max_body_size 2G;
fastcgi_buffers 64 4K;
access_log /var/log/nginx/wordpress_http_access.log combined;
#There were some shortsighted design decisions that meant it had to be
# served from /project/ to avoid breaking a bunch of relative links.
location = / {
return 301 http://www.project.com/project/;
}
location /project/ {
uwsgi_pass django;
include /home/project/uwsgi_params;
}
# Django media
location ^~ /project/media/ {
alias /home/project/media/;
autoindex off;
}
location /project/static/ {
alias /home/project/static/;
}
}