【问题标题】:How to put Django within a subdirectory of a website?如何将 Django 放在网站的子目录中?
【发布时间】:2015-06-03 21:34:09
【问题描述】:

我想在mysite.com/ 运行 WordPress,因为编辑销售副本等更容易。我想在 mysite.com/members/ 中运行我的 Django 站点@

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 在我的域/网站上的 /members/ 目录中运行?

【问题讨论】:

    标签: django apache mod-wsgi wsgi


    【解决方案1】:

    用途:

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

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

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

    【讨论】:

    • 谢谢,我的网站位于 /Wordpress/ 但它应该出现在 /
    • 对于 PHP 站点,PHP 文件通常位于 DocumentRoot 所指的目录中。您如何设置 Wordpress 配置?如果 PHP 文件位于 DocumentRoot 中,则在子 URL 处安装 Django 应用程序不应干扰 Wordpress 超出站点根目录。 WSGIScriptAlias 将确保只有对 /members 的请求才能到达 Python 应用程序。
    • 我有 somedir/Wordpress 和 somedir/django。那么我可以将文档根目录放在 somedir/Wordpress 中吗?
    • 使用 PHP 通常设置为 .php 文件扩展名上的 Apache 过滤器的方式,那么是的,我相信将 DocumentRoot 设置为该目录可能会起作用。您可能需要为该目录​​设置访问控制并指定 DirectoryIndex 以映射到 Wordpress 的首页。我不确定 Wordpress 的设置要求是什么。
    【解决方案2】:

    为了跟进上一个答案和 cmets,下面是一个示例,说明如果我必须这样做,我会如何做:

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

    不过,一定了解 cmets 中提出的安全问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-16
      • 2023-01-11
      • 2020-10-03
      • 1970-01-01
      • 2016-08-15
      相关资源
      最近更新 更多