2017-02-12 30 views
0

因此,我使用Apache和mod_wsgi来为django webapp提供服务。我的客户是一个单页面应用程序,与django后端进行通信。由于实际的索引是一个静态html文件,所以我希望当用户导航到'/'时,Apache将它们作为我的静态index.html,但当他们访问'/ foo /'或'/ bar /'时,然后他们从django后端获取动态内容。如何使用Apache和mod_wsgi提供静态索引

相关的apache的conf:

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//path/to/static/然后Django不拿去做它的事,因为它与WSGIScriptAlias//path/to/sitename/wsgi.py相撞。有什么方法可以让Apache在静态文件中提供django的命名空间吗?

回答

0

尝试:

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

的第二个指令只是为了确保它不会为每个匹配的前缀不同应用程序实例。它不应该这样做,但是这只是确保,并且由于各种原因无论如何都使用该指令通常是一个好主意。

相关问题