我有以下目录结构:
/ (index) /blog/ /about/
只运行一个Django实例,我希望URL显示为blog.domain.com(对于我的博客应用),但所有其他URL都在(www。)domain.com /.
下运行我肯定会对链接进行硬编码,强制进行此设置(基本上,网络服务器会收听blog.domain.com,并以domain.com/blog/进行转发,但用户仍会看到blog.domain.com)但我希望能够以正确的方式解析我的URL配置,但仍然可以让他们指向domain.com或blog.domain.com,具体取决于正在解析的网址(app)。
这样做有好办法吗?我在考虑使用自定义模板标签而不是{% url my_resolve_name slug="test" as test %}
。
答案 0 :(得分:1)
没有内置的支持,但很多人(包括我)都以一种黑客的方式做到了。
http://uswaretech.com/blog/2008/10/using-subdomains-with-django/
http://uswaretech.com/django-subdomains/
答案 1 :(得分:0)
在nginx上试试这个:
server {
listen 80;
server_name www.example.com;
if ($host ~* "^blog\.example\.com") {
rewrite ^(.*)$ /blog$1 permanent;
break;
}
}
这会将对blog.example.com/some/params/的所有请求重写为www.example.com/blog/some/params