2017-02-12 1 views
0

So verwende ich Apache und mod_wsgi, um eine Django-Webapp zu dienen. Mein Client ist eine einseitige Anwendung, die mit dem Django-Backend kommuniziert. Da der tatsächliche Index eine statische HTML-Datei ist, möchte ich, dass, wenn mein Benutzer zu '/' navigiert, Apache ihnen meine statische index.html anbietet, aber wenn sie '/ foo /' oder '/ bar /' besuchen Dann erhalten sie dynamischen Inhalt vom Django-Backend.Wie stehe ich statischen Index mit Apache und mod_wsgi

Relevante 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 

Allerdings, wenn ich versuche, Alias//path/to/static/ dann django wird nicht seine Sache zu tun, da es mit WSGIScriptAlias//path/to/sitename/wsgi.py kollidiert. Gibt es eine Möglichkeit, Apache eine statische Datei in dem django-Namespace bereitstellen zu lassen?

Antwort

0

Versuchen:

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

Die zweite Richtlinie ist nur sicherzustellen, dass es keine separaten Instanzen der Anwendung jeden angepassten Präfix nicht erstellen. Es sollte nicht, aber das stellt nur sicher, und es ist im Allgemeinen eine gute Idee, diese Richtlinie aus verschiedenen Gründen trotzdem zu verwenden.

Verwandte Themen