gpt4 book ai didi

python - 将 Django 站点放在另一个 Django 站点的子目录中

转载 作者:太空宇宙 更新时间:2023-11-04 10:17:43 25 4
gpt4 key购买 nike

站点在本地主机上运行良好,但是当我转到 localhost/site2 时,它只会加载根 Django 站点的 404 页面。

<VirtualHost *:80>
ServerName localhost
#site1.com
#ServerAlias www.site1.com
ErrorLog /var/www/virtualenv-2.7/django-error-log
Alias /static/ /var/www/virtualenv-2.7/site1/mainapp/static/
Alias /media/ /var/www/virtualenv-2.7/site1/media/
WSGIDaemonProcess site1 python-path=/var/www/virtualenv-2.7/site1:/var/www/virtualenv-2.7/lib/python2.7/site-packages
WSGIProcessGroup site1
WSGIScriptAlias / /var/www/virtualenv-2.7/site1/site1/wsgi.py

<Directory /var/www/virtualenv-2.7/site1>
<Files wsgi.py>
Allow from all
</Files>
</Directory>

WSGIDaemonProcess site2 python-path=/var/www/virtualenv-2.7/site2:/var/www/virtualenv-2.7/lib/python2.7/site-packages
WSGIProcessGroup site2
WSGIScriptAlias /site2 /var/www/virtualenv-2.7/site2/site2/wsgi.py

<Directory /var/www/virtualenv-2.7/site2>
<Files wsgi.py>
Allow from all
</Files>
</Directory>
</VirtualHost>

WSGISocketPrefix /var/run/wsgi
WSGIPythonPath /var/www/virtualenv-2.7/site1:var/www/virutalenv-2.7/lib/python2.7/site-packages:/var/www/virutalenv-2.7/site2:
WSGIPythonHome /var/www/virtualenv-2.7

最佳答案

您不能在单个 VirtualHost 中运行两个站点或 django 应用程序此配置是错误的。

您将需要两个不同的虚拟主机来执行此操作,如下所示:

<VirtualHost *:80>
ServerName site1.com
ServerAlias www.site1.com
ErrorLog /var/www/virtualenv-2.7/django-error-log-from-site1

Alias /static/ /var/www/virtualenv-2.7/site1/mainapp/static/
Alias /media/ /var/www/virtualenv-2.7/site1/media/

WSGIDaemonProcess site1 python-path=/var/www/virtualenv-2.7/site1:/var/www/virtualenv-2.7/lib/python2.7/site-packages
WSGIProcessGroup site1
WSGIScriptAlias / /var/www/virtualenv-2.7/site1/site1/wsgi.py

<Directory /var/www/virtualenv-2.7/site1>
<Files wsgi.py>
Allow from all
</Files>
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerName site2.com
ServerAlias www.site2.com
ErrorLog /var/www/virtualenv-2.7/django-error-log-from-site2

Alias /static/ /var/www/virtualenv-2.7/site2/mainapp/static/
Alias /media/ /var/www/virtualenv-2.7/site2/media/

WSGIDaemonProcess site2 python-path=/var/www/virtualenv-2.7/site2:/var/www/virtualenv-2.7/lib/python2.7/site-packages
WSGIProcessGroup site2
WSGIScriptAlias /site2 /var/www/virtualenv-2.7/site2/site2/wsgi.py

<Directory /var/www/virtualenv-2.7/site2>
<Files wsgi.py>
Allow from all
</Files>
</Directory>
</VirtualHost>

如果您在本地系统上对此进行测试,那么根据您的操作系统,您可能需要进行以下配置以进行试用。

  1. 在 Windows 中:C:\Windows\System32\Drivers\etc\hosts
  2. 在 Linux/Mac 中:/etc/hosts

在此文件中添加以下行:

127.0.0.1 site1.com
127.0.0.1 site2.com

如果您使用的是域名,那么让 A Records 指向所需的服务器 IP。

现在,当您在浏览器中打开 site1.com 时,将首先使用 VH 配置,同样对于 site2.com,当键入它作为 URL 时。

关于python - 将 Django 站点放在另一个 Django 站点的子目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34378328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com