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?
Réponses
Trop de publicités?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.
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.