python - 为什么我的 Django 项目同时显示在 subdomain 和 localhost 中?

标签 python django mod-wsgi

问题是我在本地主机的子域中安装了一个 django 项目,同时我有本地主机用于其他没有 Django 的东西。

每当我访问 a1.localhost 时,它都会显示我的 django 欢迎页面,但当我只想访问 localhost 时,它也会显示相同的 django 欢迎页面,而不是 index.html。

到目前为止,这是我所拥有的:

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

我想要实现的是在 localhost 中显示我的普通 index.html 文件,在 a1.localhost 中显示我的 django 项目。

谢谢。

最佳答案

我认为这里发生的是第一个虚拟主机接受到端口 80 的所有流量并将其重定向到 django 应用程序。第二个虚拟主机根本不接收流量。当它们是不同的端口时,整个事情都有效,因为在那种情况下,apache 知道哪个虚拟主机应该接收流量。

您可能需要在这些声明之前添加一行来设置虚拟主机命名,正如 Kay Zhu 提到的:

名称虚拟主机 *:80

有关详细信息,请参阅本文: http://digitalpbk.blogspot.com/2007/01/making-subdomains-on-localhost.html

关于python - 为什么我的 Django 项目同时显示在 subdomain 和 localhost 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13151482/

相关文章:

python - Scrapy 选择具有特定属性名称的 HTML 元素

python - Django +Vue。无法连接参数

python - 无法加载 mod_wsgi : Symbol not found: __Py_FalseStruct

django - 是否可以用复杂的查询来注释 Django ORM 查询

python - 如何仅使用 .pyo 文件(没有 .py)来使用 mod_wsgi?

apache - "make_sock: could not bind to address [::]:443"重启 apache 时(安装 trac 和 mod_wsgi)

python - Try-Except-Finally 语句的过时书籍描述

python - 如何对 Azure 日志提取 API 进行故障排除

Python csv.reader 自动转换 ISO 日期?

python - 如何创建包含两个不同查询集之和的表