4

問題は、ローカルホストのサブドメインにインストールされたdjangoプロジェクトがあり、同時に、Djangoを使用しない他のもののローカルホストがあることです。

a1.localhost にアクセスするたびに、django ウェルカム ページが正常に表示されますが、localhost だけにアクセスしたい場合は、index.html の代わりに同じ django ウェルカム ページも表示されます。

これまでのところ、これは私が持っているものです:

Hosts:
127.0.0.1       localhost
127.0.0.1       a1.localhost

vhosts.conf:
#-- a1.localhost
<VirtualHost *:80>
    ServerName a1.localhost
    WSGIScriptAlias / "C:/workspace/website1/apache/django.wsgi"
    <Directory "C:/workspace/website1/apache">
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

#-- localhost
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "C:/workspace/website1/django_project"
</VirtualHost>


django.wsgi

import os
import sys

path = "C:/workspace/website1/apache/django_project"
if path not in sys.path:
    sys.path.append(path)


os.environ['DJANGO_SETTINGS_MODULE'] = 'django_project.settings'

import django.core.handlers.wsgi

私が達成したいのは、通常の index.html ファイルを localhost に表示し、django プロジェクトを a1.localhost に表示することです。

ありがとう。

4

1 に答える 1

2

ここで起こっていることは、最初の仮想ホストがポート 80 へのすべてのトラフィックを受け入れ、それを django アプリにリダイレクトすることだと思います。2 番目の仮想ホストはトラフィックをまったく受信していません。それらが異なるポートである場合、すべてが機能します。その場合、Apacheはどの仮想ホストがトラフィックを受信する必要があるかを知っているからです。

Kay Zhu が述べたように、仮想ホストの命名を設定するには、これらの宣言の前に行を追加する必要がある場合があります。

NameVirtualHost *:80

詳細については、次の記事を参照してください: http://digitalpbk.blogspot.com/2007/01/making-subdomains-on-localhost.html

于 2012-11-07T23:01:10.303 に答える