Aller au contenu

URL rewriting dans quel .htaccess?


Sujets conseillés

Bonsoir,

Je mets en place l'url rewriting d'un annuaire, situé dans le répertoire /annuaire/ d'un site.

Vaut-il mieux placer les règles de réécriture pour cet annuaire dans le .htaccess situé à la racine du site, ou dans celui situé dans le répertoire /annuaire ?

Merci.

Lien vers le commentaire
Partager sur d’autres sites

Hello Jan,

Moi aussi j'ai placé dans le répertoire de l'annuaire (ou du forum) et comme tu le sais, je suis un super pro du mode Rewrite :whistling:

mais visiblement ça marche aussi si tu le met dans la racine, mais ça augmente les risques d'erreurs puisqu'il faudra que tu ajoute /annuaire/ devant chaque expression

et selon le type d'annuaire, je peux même t'aider (si c'est le même que moi, sinon c'est mort)

J'ai bon Dan ?

Lien vers le commentaire
Partager sur d’autres sites

Merci pour vos avis.

Xav' l'annuaire est myphpannuaire.

Lien vers le commentaire
Partager sur d’autres sites

Salut Jan pour ma part je l'ai placé dans celui du répertoire.

Mais Dan sera peut être plus à même de te répondre...

:lol: Oui, c'est vrai qu'il faut toujours placer le .htaccess avec les règles de réécriture au niveau le plus bas.

La raison est simple: un site avec deux répertoires rep1 et rep2 dont seules les URLs de rep2 doivent être réécrites analysera toutes les URLs si le .htaccess est au niveau supérieur, donc y compris celles de rep1 qui ne doivent pas être réécrites. C'est donc une perte de ressources CPU que d'envoyer des URLs à mod_rewrite alors qu'elles n'ont pas à être réécrites.

La règle est qu'un fichier .htaccess est valable pour le répertoire dans lequel il est mis, ainsi que tous les sous-répertoires.

Si l'un de ces sous-répertoires ne doit pas être réécrit, on peut y mettre un fichier .htaccess avec la seule ligne "RewriteEngine off" histoire de gagner un peu de performances.

Si par contre il faut ajouter des règles, en plus de celles définies à l'échelon supérieur, il faut mettre "RewriteOptions inherit" pour ne pas perdre les règles définies plus haut (répertoire ou httpd.conf) ;)

Dan

Lien vers le commentaire
Partager sur d’autres sites

Merci Dan.

Je me doutais bien qu'il y avait une solution privilégiée. Je me doutais aussi que tu allais nous l'expliquer ;)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...