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.
la source
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.
Un redémarrage n'est pas nécessaire pour les modifications apportées à .htaccess. Quelque chose ne va pas.
Assurez-vous que votre .htaccess inclut la déclaration
RewriteEngine sur
qui est obligatoire même s'il est également présent dans httpd.conf. Vérifiez également que .htaccess est lisible par le processus httpd.
Vérifiez le journal des erreurs - il vous informera de toute erreur dans .htaccess s'il est utilisé. Mettre une erreur de syntaxe intentionnelle dans .htaccess est une bonne vérification pour vous assurer que le fichier est utilisé - vous devriez obtenir une erreur 500 sur n'importe quelle page du même répertoire.
Enfin, vous pouvez activer un journal de réécriture à l'aide de commandes telles que les suivantes dans votre httpd.conf:
RewriteLog "logs / rewritelog"
RewriteLogLevel 7
Le fichier journal ainsi généré vous donnera le détail sanglant des règles de réécriture correspondantes et comment elles ont été traitées.
LogLevel alert rewrite:trace7
. Après avoir redémarré Apache , vous devriez voir les traces dans le error.log J'espère que cela aide. http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#loggingNon :
la source
D'après la documentation Apache: Le plus souvent, le problème est que AllowOverride n'est pas défini de telle sorte que vos directives de configuration soient respectées. Assurez-vous que vous n'avez pas de AllowOverride None en vigueur pour la portée de fichier en question. Un bon test pour cela est de mettre des déchets dans votre fichier .htaccess et de le recharger. Si une erreur de serveur n'est pas générée, alors vous avez presque certainement AllowOverride None en vigueur.
la source
Uniquement si vous n'avez pas ajouté le module mod_rewrite à Apache.
Vous n'avez besoin de redémarrer Apache que si vous modifiez des fichiers Apache ".conf".
la source
J'ai le même problème et il semble que l'article de PiedPiper sur AllowOverride ait été très utile. Vérifiez votre fichier httpd.conf pour "AllowOverride" et assurez-vous qu'il est défini sur Tous.
la source
En cas de .htaccess, le redémarrage n'est pas nécessaire s'il ne fonctionne pas, les raisons probables incluent.
AllowOverride Peut ne pas être défini quel utilisateur peut définir dans httpd.conf ou doit contacter l'administrateur du serveur.
Vérifiez le nom de fichier de .htaccess, il devrait être .htaccess et non htaccess.txt.Voyez ici pour savoir comment en créer un.
Essayez d'utiliser
Options -Indexes
ou unedeny all
sorte de directive simple pour voir si cela fonctionne ou non.effacez le cache du navigateur à chaque fois si vous avez une règle pour les redirections ou similaire si la redirection précédente est mise en cache, il semble que les choses ne fonctionnent pas.
la source
Que contient votre .htaccess? RewriteRules? Vérifiez que mod_rewrite est installé et activé.
D'autres choses? Essayez de définir AllowOverride sur «tous» sur ce répertoire.
la source