web-dev-qa-db-ja.com

Apache vhosts config:IPアドレスの代わりにホスト名

外部プロバイダーでホストされているドメイン(example.com)があります。サブドメインsub.example.comをubuntuサーバー(Apache2では12.04)に転送しました。

私のubuntuサーバーには、このような仮想ホストのセットアップがあります。残りの設定は基本的にApache2標準です。

<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
j7nn7k

DTestのヒントに従って、ドメインプロバイダーからのリダイレクトだけがあったことがわかりました。私のドメインプロバイダーは、sub.example.comへの実際のDNSAレコードエントリの代わりにリダイレクトを行いました。 DNS Aレコードを追加し、「動作します!」になりました。みんなありがとう!

1
j7nn7k