我的两个子域名无法正确路由。
这是我的中间件类
MIDDLEWARE_CLASSES = [
'subdomains.middleware.SubdomainURLRoutingMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
正如您所见,SubdomainURL Routing中间件高于Common。
配置如下:
ROOT_URLCONF = 'deltaforce.urls'
SUBDOMAIN_URLCONFS = {
'api': 'errorPage.urls',
None: 'interface.urls',
}
问题是abc.com和api.abc.com都路由到无/ interface.urls
。
我从每个404页面上了解到同样的情况。 deltaforce.urls
和interface.urls
之间的差异是默认的管理控制台,它没有显示,这是一个很好的信号,它没有使用ROOT_URLCONF
,但api
也显示类似作为错误页面中唯一页面的行为是404,我用它来测试它。它的404页面显示了界面中的网址列表。
以下是其他可能很重要的内容:
ALLOWED_HOSTS = [".abc.com"]
abc.com
和其他子域有一个/etc/hosts
文件,最后这是一个nginx代理,它根据404页面上请求的URL正确传递主机头。