La première étape consiste à ajouter simplement
AddHandler wsgi-script .wsgi
à votre fichier .htaccess avec rien d'autre à établir wsgi comme gestionnaire. Cela fera des demandes à django.wsgi et django.wsgi/quoi que ce soit aller à votre application django.
Pour que la partie django.wsgi de l'URL disparaisse, vous devez utiliser mod_rewrite. J'espère que votre hôte l'a activé. Un exemple est
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /django.wsgi/$1 [QSA,PT,L]
qui servira le fichier si l'URL correspond à un fichier, ou être servi par django si elle ne fonctionne pas. Une autre option serait
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !^/?static/
RewriteRule ^(.*)$ /django.wsgi/$1 [QSA,PT,L]
de faire des demandes pour/statiques/* aller dans le fichier lui-même et tout le reste à passer par django.
Ensuite, vous devrez masquer django.wsgi à partir des URL générées. Cela peut être fait avec un extrait comme celui-ci dans votre django.wsgi
def _application(environ, start_response):
# The original application.
...
import posixpath
def application(environ, start_response):
# Wrapper to set SCRIPT_NAME to actual mount point.
environ['SCRIPT_NAME'] = posixpath.dirname(environ['SCRIPT_NAME'])
if environ['SCRIPT_NAME'] == '/':
environ['SCRIPT_NAME'] = ''
return _application(environ, start_response)
Si cela ne fonctionne pas tout à fait exactement ça, alors assurez-vous de consulter http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines. J'ai tiré la plupart des détails de la réponse à partir de là, mais j'ai juste obtenu les bonnes parties mises en place comme une étape par étape.
Avez-vous manqué ceci: http://docs.djangoproject.com/fr/dev/howto/static-files/ Semble clair. –