2009-11-11 4 views
4

Je dois faire un travail de réécriture d'url maintenant..htaccess ou httpd.conf

Je ne sais pas si je devrais mettre le code dans un fichier .htaccess ou httpd.conf?

EDIT

Quelle est la gamme Signifier des .htaccess? Affectera toutes les demandes ou les demandes que dans le répertoire spécifique, il est situé?

Répondre

9

Si vous avez l'habitude de changer vos règles très souvent, vous devez les mettre dans le httpd.conf et désactivez primordial dans le répertoire principal de vos règles applicables à

AllowOverride None 

En l'absence de substitution, votre apache n'examinera pas tous les répertoires des fichiers .htaccess, ce qui réduira le temps système pour chaque requête. Chaque fois que vous devez modifier vos règles, vous devrez redémarrer votre serveur Apache si vous le placez dans votre httpd.conf au lieu de les détecter instantanément dans les fichiers .htaccess car il les lit toutes à chaque requête.

Vous pouvez facilement le faire en redémarrant avec l'outil apachectl pour éviter de couper toute demande en cours.

apachectl graceful 

Si vous n'allez pas désactiver le remplacement, vous pouvez aussi simplement utiliser .htaccess.

Modifier en réponse à votre édition:

Supposons que vous avez une demande de www.example.com/dir1/dir2/dir3/file

Apache recherchera un fichier .htaccess dans tous les 3 de ces répertoires et la racine des règles à appliquer à la requête si vous avez autorisé le remplacement.

+0

Analysera-t-il .htaccess si AllowOverride est défini sur none? – Paypal

+1

Il ne sera pas, vous devrez mettre toutes vos règles dans les balises dans le httpd.conf si vous désactivez l'annulation. – Mike

3

Facilité d'utilisation et de l'OMI maintenabilité (il suffit d'aller au répertoire que vous voulez que tout utilisateur Permissioned) = .htaccess mais qui est analysé de façon répétée par rapport à l'analyse syntaxique une fois dans httpd.conf où votre volume über haute serait meilleur ensemble.

0

Vous pouvez utiliser les deux. À mon humble avis, .htaccess sera un peu mieux

1

Il y a trois questions ici en termes de ce qui est "meilleur":

  • performances
  • gestion
  • sécurité

.htaccess est plus lent, plus difficile à gérer, et potentiellement Moins sécurisé. Si vous avez accès au fichier httpd.conf, il peut être plus facile de gérer les règles (en un endroit), plus rapidement ("AllowOverrides None" signifie que le serveur ne regarde pas dans le répertoire courant et les répertoires parents pour un fichier override pour analyser et suivre), et puisque les fichiers .htaccess ne sont pas présents dans le répertoire du site, ils ne peuvent pas être édités (et s'ils sont créés, ils seront ignorés).

Questions connexes