J'ai poussé mes fichiers .htaccess vers les serveurs de production, mais ils ne fonctionnent pas. Un redémarrage serait l'étape suivante, ou devrais-je vérifier quelque chose d'autre.Avez-vous besoin de redémarrer Apache pour que les règles de réécriture dans le fichier .htaccess prennent effet?
Répondre
Un redémarrage est et non requis pour les modifications apportées à .htaccess. Quelque chose d'autre est faux.
Assurez-vous que votre .htaccess comprend la déclaration
RewriteEngine sur
qui est nécessaire, même si elle est également présent dans httpd.conf. Vérifiez également que .htaccess est lisible par le processus httpd.
Vérifiez le error_log - il vous dira des erreurs dans .htaccess si il est utilisé. Mettre une erreur de syntaxe intentionnelle dans .htaccess est une bonne vérification pour s'assurer 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 un journal de réécriture en utilisant des commandes comme dans votre httpd.conf:
RewriteLog "logs/RewriteLog"
RewriteLogLevel 7
Le fichier journal ainsi généré vous donnera le détail sanglant dont les règles de réécriture correspondaient et comment ils ont été traités.
No:
Apache permet la gestion décentralisée de configuration via des fichiers spéciaux placés dans l'arborescence web. Les fichiers spéciaux sont généralement appelés
.htaccess
, mais tout autre nom peut être spécifié dans la directive AccessFileName ... Comme les fichiers .htaccess sont lus à chaque demande, les modifications apportées à ces fichiers prennent effet immédiatement ...
Ce qui est en votre .htaccess? RewriteRules? Vérifiez que mod_rewrite est installé et activé.
D'autres choses? Essayez de définir AllowOverride sur 'all' dans ce répertoire.
uniquement si vous n'avez PAS ajouté le module de réécriture mod à apache.
vous ne devez redémarrer apache si vous modifiez les fichiers « .conf » apache
De la documentation apache: Le plus souvent, le problème est que AllowOverride n'est pas réglé de telle sorte que vos directives de configuration sont respectés. Assurez-vous que vous n'avez pas un AllowOverride Aucun en vigueur pour la portée de fichier en question. Un bon test pour cela est de mettre des ordures dans votre fichier .htaccess et recharger. Si une erreur de serveur n'est pas générée, vous avez presque certainement AllowOverride None en vigueur.
Lien vers Apache - AllowOverride: http://httpd.apache.org/docs/2.2/mod/core.html#AllowOverride – scunliffe
J'ajoute cette ligne "
J'ai le même problème et il semble que PiedPiper post à propos de AllowOverride était le plus utile. Vérifiez votre fichier httpd.conf pour "AllowOverride" et assurez-vous qu'il est défini sur Tous.
Article pertinent: [Comment définir AllowOverride all] (http://stackoverflow.com/q/18740419/2065702) –
Dans le cas de .htaccess redémarrage n'est pas nécessaire si elle ne fonctionne pas les raisons probables comprennent.
AllowOverride ne peut être définie que l'utilisateur peut définir à l'intérieur httpd.conf ou peut-être contacter l'administrateur du serveur.
Vérifiez le nom de fichier de .htaccess il devrait être .htaccess pas htaccess.txt voir here pour savoir comment en créer un. Essayez d'utiliser
Options -Indexes
oudeny all
sorte de directive simple pour voir si elle fonctionne ou non.effacer le cache du navigateur à chaque fois si la 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.
- 1. bon ordre des règles de réécriture dans un fichier htaccess
- 2. Apache htaccess réécrit les règles d'URL?
- 3. .htaccess Règles de réécriture pour le sous-domaine
- 4. Deux règles de réécriture
- 5. Réécriture conditionnelle .htaccess
- 6. Règle de réécriture complexe requise pour le fichier .htaccess
- 7. Règles de réécriture htaccess complexes - par où commencer?
- 8. Besoin d'aide pour convertir le code apache .htaccess en lighttpd code url_rewrite
- 9. Problème avec les règles mod_rewrite dans le fichier .htaccess
- 10. Apache .htaccess réécrit la question
- 11. règles de réécriture mod
- 12. Comment convertir les fichiers Apache .htaccess en règles Lighttpd?
- 13. Besoin d'aide sur Apache .htaccess redirect règle
- 14. .htaccess et réécriture d'URL
- 15. htaccess réécriture pour la chaîne de requête
- 16. Règles de réécriture nginx avec Passager
- 17. Problème de redirection Apache dans .htaccess
- 18. Règles de réécriture d'arborescence Antlr
- 19. Le fichier .htaccess ne fonctionne pas sur Apache Server
- 20. (Apache) Possible de faire correspondre les caractères UTF8 aux règles de réécriture?
- 21. Comment configurer les règles de réécriture de nginx pour que CakePHP fonctionne sur CentOS?
- 22. Existe-t-il un moyen de désactiver (ou d'activer) les règles regex dans Apache?
- 23. règles conditionnelles htaccess
- 24. Réécriture d'URL en utilisant mod_rewrite dans .htaccess
- 25. Comment puis-je résoudre pourquoi mes règles de réécriture ne sont pas appliquées par apache?
- 26. Apache htaccess sur Win2k n'est pas en cours de traitement
- 27. Mêmes règles pour plusieurs répertoires dans Apache?
- 28. Règles d'URL et de réécriture imbriquées dans Apache2
- 29. directive Apache RequestHeader dans .htaccess
- 30. Réécriture d'URL en utilisant .htaccess
Si vous avez ajouté le nom d'utilisateur à 'Require user' dans votre fichier de site, j'ai trouvé empiriquement que vous aviez besoin d'un redémarrage. Un gracieux le fait. – Ross