2017-02-12 3 views
0

Donc j'utilise Apache et mod_wsgi pour servir une webapp django. Mon client est une application d'une seule page, qui parle au backend django. Comme l'index réel est un fichier html statique, je voudrais que quand mon utilisateur navigue vers '/', Apache leur serve mon index.html statique, mais quand ils visitent '/ foo /' ou '/ bar /' , puis ils obtiennent un contenu dynamique à partir du backend django.Comment servir l'index statique avec Apache et mod_wsgi

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

Cependant, si je tente de Alias//path/to/static/ django alors ne reçoit pas de faire sa chose, car elle se heurte à WSGIScriptAlias//path/to/sitename/wsgi.py. Est-il possible de faire en sorte que Apache serve un fichier statique dans ce qui serait autrement l'espace de nom de django?

Répondre

0

Essayez:

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

La deuxième directive est juste pour vous assurer qu'il ne crée pas des instances distinctes de l'application pour chaque préfixe assorti. Cela ne devrait pas être le cas, mais cela est tout à fait sûr et c'est généralement une bonne idée d'utiliser cette directive de toute façon pour diverses raisons.