我有一个由外部提供商托管的域名 ( example.com
)。我将子域名sub.example.com
指向我的 ubuntu 服务器(12.04,带有 apache2)。
在我的 ubuntu 服务器上,我有一个像这样的 vhost 设置。其余配置基本上是 apache 2 标准:
<VirtualHost *:80>
ServerName sub.example.com
ServerAlias sub.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/sub.example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
WSGIScriptAlias / /home/application/sub.example.com/wsgi.py
<Directory /home/application/sub.example.com>
<Files wsgi.py>
Order allow,deny
Allow from all
</Files>
</Directory>
</VirtualHost>
当我http://sub.example.com
在浏览器中输入时,我的应用程序显示正常。但域名被我的服务器的 IP 地址替换了。我是否必须在其他地方配置我的服务器以在我的域名下提供其所有内容sub.example.com
?
这是我的 wsgi.py 文件:
import os
import sys
from os.path import abspath, dirname, join
PROJECT_ROOT = abspath(dirname(dirname(__file__)))
GIT_ROOT = abspath(dirname(dirname(PROJECT_ROOT)))
sys.path.insert(0, join(GIT_ROOT, 'venv', 'lib', 'python2.7', 'site-packages'))
sys.path.insert(0, PROJECT_ROOT)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xxx.settings")
# This application object is used by any WSGI server configured to use this
# file. This includes Django's development server, if the WSGI_APPLICATION
# setting points here.
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
# Apply WSGI middleware here.
# from helloworld.wsgi import HelloWorldApplication
# application = HelloWorldApplication(application)
答案1
根据 DTest 的提示,我发现这只是来自我的域名提供商的重定向。我的域名提供商只是重定向,而不是将真正的 DNS A 记录条目输入到 sub.example.com。添加了 DNS A 记录,现在“它起作用了!”。谢谢大家!