Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何使用Apache和mod_wsgi提供静态索引_Django_Apache_Mod Wsgi - Fatal编程技术网

Django 如何使用Apache和mod_wsgi提供静态索引

Django 如何使用Apache和mod_wsgi提供静态索引,django,apache,mod-wsgi,Django,Apache,Mod Wsgi,因此,我使用Apache和mod_wsgi为django webapp提供服务。我的客户机是一个单页应用程序,它与django后端通信。由于实际索引是一个静态html文件,我希望这样,当我的用户导航到“/”时,Apache会为他们提供我的static index.html,但当他们访问“/foo/”或“/bar/”时,他们会从django后端获得动态内容 相关apache配置文件: Alias /static /path/to/static <Directory /path/to/sta

因此,我使用Apache和mod_wsgi为django webapp提供服务。我的客户机是一个单页应用程序,它与django后端通信。由于实际索引是一个静态html文件,我希望这样,当我的用户导航到“/”时,Apache会为他们提供我的static index.html,但当他们访问“/foo/”或“/bar/”时,他们会从django后端获得动态内容

相关apache配置文件:

Alias /static /path/to/static

<Directory /path/to/static>
    Require all granted
</Directory>

<Directory /path/to/django/site>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>

WSGIDaemonProcess sitename python-home=/path/to/env python-path=/path/to/django
WSGIProcessGroup sitename
WSGIScriptAlias / /path/to/sitename/wsgi.py
WSGIPassAuthorization On
Alias/static/path/to/static
要求所有授权
要求所有授权
WSGIDaemonProcess sitename python home=/path/to/env python path=/path/to/django
WSGIProcessGroup站点名称
WSGIScriptAlias//path/to/sitename/wsgi.py
WSGIPassAuthorization On
但是,如果我尝试
Alias//path/to/static/
,django就无法完成它的任务,因为它与
WSGIScriptAlias//path/to/sitename/wsgi.py
冲突。有没有办法让Apache在django的命名空间中提供一个静态文件?

试试:

WSGIScriptAliasMatch ^/(foo|bar)/ /path/to/sitename/wsgi.py/$1/
WSGIApplicationGroup %{GLOBAL}

第二个指令只是为了确保它不会为每个匹配的前缀创建单独的应用程序实例。不应该这样做,但这只是为了确保并且通常是出于各种原因使用该指令的好主意。

嗨,格雷厄姆,我有一个类似的问题——这可能吗?