如何将 Django 放在网站的子目录中?

How to put Django within a subdirectory of a website?

我想在 mysite.com/ 运行 WordPress,因为它更容易编辑销售文案等。我想 运行 我的 Django 站点 mysite.com/members/

httpd.conf:

<VirtualHost *:80>
ServerName mysite.com
ServerAlias www.mysite.com
DocumentRoot /var/www/mysite.com
WSGIDaemonProcess mysite python-path=/var/www/mysite.com/mysite:/var/www/mysite.com/
WSGIProcessGroup mysite
WSGIScriptAlias / /var/www/mysite.com/mysite/mysite/wsgi.py
</VirtualHost>

我到底需要做什么才能让 Django 运行s 在我的 domain/website 的 /members/ 目录中?

使用:

WSGIScriptAlias /members /var/www/mysite.com/mysite/mysite/wsgi.py

请注意,这样做时,由于您错误地将 DocumentRoot 设置为源代码的父目录,人们将能够下载源代码,包括设置模块中的敏感信息。

因此,请勿将 DocumentRoot 设置为您拥有的内容。让它引用一个空目录,整个服务器的默认 htdocs 目录。

为了跟进之前的回答和评论,这里有一个例子,说明如果我不得不这样做的话:

<VirtualHost *:80>
    # WordPress
    ServerName mysite.com
    ServerAlias www.mysite.com
    DocumentRoot /var/www/mysite.com

    # Django
    WSGIDaemonProcess mysite python-path=/var/django/django_project/virtualenv/django_project
    WSGIProcessGroup mysite
    WSGIScriptAlias /members /var/django/django_project/django_project/wsgi.py
    Alias /members/static/ /var/django/django_project/static/
</VirtualHost>

但完全理解评论中提出的安全问题。