Comme on le sait, après avoir émis une requête avec un seul nom d'IP ou de serveur via l'explorateur web, apache retournera sa page d'accueil statique par défaut à l'explorateur. J'utilise django et apache avec mod_wsgi pour déployer mon site (c'est-à-dire l'application django sur le serveur web Apache). Comment router le traitement vers les règles de mappage django définies dans views.py pour générer dynamiquement une page d'accueil (page d'index) pour ce site lorsque j'émets une requête à ce serveur exécutant apache? Merci d'avance!comment rendre django rendre la page d'accueil par défaut au lieu d'apache
I a ajouté la configuration suivante dans la principale httpd.conf Apache:
<VirtualHost 127.0.0.1:80>
ServerName 127.0.0.1
ServerAlias example.com
ServerAdmin [email protected]
DocumentRoot /usr/local/www/documents
Alias /robots.txt /usr/local/www/documents/robots.txt
Alias /favicon.ico /usr/local/www/documents/favicon.ico
Alias /media/ /usr/local/www/documents/media/
<Directory /usr/local/www/documents>
Require all granted
</Directory>
WSGIDaemonProcess 127.0.0.1 processes=2 threads=15 display-name=%{GROUP}
WSGIProcessGroup 127.0.0.1
WSGIScriptAlias//usr/local/www/wsgi-scripts/myapp.wsgi
<Directory /usr/local/www/wsgi-scripts>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
code dans myapp.wsgi:
def application(environ, start_response):
status = '200 OK'
output = b'Hello World!'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
J'émis 127.0.0.1, l'explorateur affiché ' Cela fonctionne! ', Qui est la page par défaut produite par Apache, au lieu de laquelle je voulais' Bonjour tout le monde! ' retourné dans ce cas. Je veux juste que quand vient de publier une adresse IP ou site, le travail de génération de la page d'accueil par défaut est directement délégué à django pour gérer dynamiquement plutôt que de retourner un index.html statique par Apache. Bien que j'ai configuré WSGIScriptAlias//usr/local/www/wsgi-scripts/myapp.wsgi
, cela ne semble toujours pas fonctionner.
Non, ce n'est pas * connu *. Il ne sert pas la "page d'accueil statique par défaut" à moins que vous le demandiez spécifiquement. Comment avez-vous configuré mod_wsgi en premier lieu? –
Comme le demande @DanielRoseman, fournissez la configuration que vous utilisez. Si vous avez ajouté '' WSGIScriptAlias //some/path/to/wsgi.py'' et une autre config appropriée pour permettre l'accès à cette ressource à l'endroit approprié, cela devrait entraîner la prise en charge par l'application WSGI des demandes de racine du site . Si ce n'est pas le cas, vous avez probablement masqué la configuration de l'hôte virtuel. –
@GrahamDumpleton La configuration et les informations nécessaires ont été fournies. –