2008-09-27 5 views

Répondre

74

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.

49

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 ...

+0

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

0

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.

3

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

17

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.

+1

Lien vers Apache - AllowOverride: http://httpd.apache.org/docs/2.2/mod/core.html#AllowOverride – scunliffe

+2

J'ajoute cette ligne "" à mon fichier .htaccess pour générer une erreur dans le journal. Il dira " Mnebuerquo

1

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.

+0

Article pertinent: [Comment définir AllowOverride all] (http://stackoverflow.com/q/18740419/2065702) –

1

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 ou deny 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.

Questions connexes