Question

C’est le problème opposé à la plupart de ceux que j’ai lus. J'utilise Ubuntu 8.04 sur une instance Amazon avec Apache 2.2.8 et je ne comprends pas pourquoi la définition de AllowOverride sur Aucun pour root n'empêche pas l'inclusion de mon fichier .htaccess.

J'ai un sous-répertoire contenant hello.py et un fichier .htaccess. Lorsque je navigue dans le fichier, cela fonctionne bien avec modpython servant le fichier. Si je mets des ordures dans .htaccess, je reçois une erreur de serveur, donc je sais que le fichier .htaccess est utilisé. De plus, si je supprime le fichier .htaccess, hello.py n’est plus serveur par modpython. Au lieu de cela, le navigateur essaie de l’ouvrir.

Dans l'un de mes sites disponibles (lié à des sites activés), j'ai & "AllowOverride None &"; pour le répertoire racine. Je pensais que cela empêcherait .htaccess d'être inclus à partir de root et de tous ses sous-répertoires, ce qui devrait empêcher hello.py d'être servi par mod_python. Cependant, il continue à être bien servi et je peux vérifier que .htaccess est toujours inclus car lorsque je le modifie, je vois les résultats dans mon navigateur.

Peut-être qu’il ya quelque chose que je ne comprends pas à propos de mon fichier dans les sites activés. C'est le fichier que j'utilise:

NameVirtualHost *:8080 
<VirtualHost *:8080>
<Directory />
AllowOverride None
</Directory>
</VirtualHost>

Merci pour toute aide.

Était-ce utile?

La solution

La raison pour laquelle le fichier n'est pas servi via mod_python lorsque vous supprimez .htaccess est due au programme d'installation de mod_python. Si vous déplacez ce contenu dans le fichier disponible sur votre site, vous pouvez supprimer .htaccess, fermer les yeux sur le problème et l'appeler un jour.

Si cela ne vous satisfait pas, je ne saurais dire pourquoi .htacess est lu. Vous avez raison de dire que AllowOverride None ne devrait pas empêcher la lecture du fichier. Avez-vous envisagé la possibilité que vous avez foiré quelque chose lors de l'ajout du site virtuel? Essayez de jeter des ordures dans la configuration et de voir si elle se plaint, juste pour être sûre de la lire.

Autres conseils

AllowOverride n'est autorisé que dans <= > -sections, vous avez donc tout fait correctement.

L’un des problèmes que vous pourriez avoir est que d’autres (sous -) <Directory> - sections sont définies sur None autre chose que /var/www. Cela remplacera le réglage de ces sous-répertoires. J'utilise

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride AuthConfig 
    Order allow,deny
    allow from all
</Directory>

et dans .htaccess (mon docroot), je peux utiliser mod_python es.

La raison pour laquelle <Directory /> ne fonctionne plus si vous supprimez votre <=>, c’est que <=> la configuration se trouve généralement dans <=> fichiers.

Si vous souhaitez plus d'informations, envoyez-nous votre configuration.

PS: en fait, la documentation mentionnée ci-dessus indique que vous devez ne jamais définir <=> une autre valeur <<> dans <=>.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top