101 votes

Devez-vous redémarrer Apache pour que les règles de réécriture du fichier .htaccess prennent effet?

J'ai poussé mes fichiers .htaccess vers les serveurs de production, mais ils ne fonctionnent pas. Est-ce qu'un redémarrage serait la prochaine étape ou devrais-je vérifier autre chose?

96voto

TomG Points 973

Un redémarrage n'est pas nécessaire pour que les modifications .htaccess. Autre chose est erroné.

Assurez-vous que votre .htaccess contient l'énoncé

RewriteEngine on

ce qui est obligatoire, même si elle est également présente dans httpd.conf. Vérifiez également que .htaccess n'est lisible que par le processus httpd.
Vérifiez le error_log - il vous dira de toute erreur .htaccess si elle est utilisée. Mettre intentionnellement une erreur de syntaxe .htaccess est un bon assurez-vous que le fichier est utilisé -- vous devriez obtenir une erreur 500 sur n'importe quelle page dans le même répertoire.

Enfin, vous pouvez activer la réécriture du journal à l'aide des commandes comme celle-ci dans votre httpd.conf:

RewriteLog "logs/rewritelog"

RewriteLogLevel 7

Le journal de fichier ainsi généré va vous donner le détail sanglant dont les règles de réécriture correspondance et de la façon dont ils étaient traités.

52voto

Milen A. Radev Points 20462

Non

18voto

PiedPiper Points 3595

De la documentation apache: Le problème le plus courant est que AllowOverride n'est pas défini de sorte que vos directives de configuration soient respectées. Assurez-vous que AllowOverride None n'est pas en vigueur pour l'étendue du fichier en question. Un bon test pour cela consiste à jeter des ordures dans votre fichier .htaccess et à recharger. Si aucune erreur de serveur n’est générée, il est presque certain que AllowOverride None est en vigueur.

3voto

ethyreal Points 2301

seulement si vous n'avez PAS ajouté le module de réécriture de mod à apache.

il vous suffit de redémarrer apache si vous modifiez les fichiers ".conf" apache

2voto

user825302 Points 11

J'ai le même problème et il semble que les commentaires de PiedPiper sur AllowOverride ont été des plus utiles. Vérifiez votre fichier httpd.conf pour "AllowOverride" et assurez-vous qu'il est défini sur Tous.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X