Aller au contenu

Réécriture de noms de répertoire


Cliquedur

Sujets conseillés

Bonjour à tous,

Je voudrais pouvoir réécrire, en plus des variables, des noms de répertoires à la volée, par exemple :

http://www.monsite.com/repertoire1/repertoire2/fiche.php?var1=23&var2=65

deviendrait :

http://www.monsite.com/directory1/directory2/var1-23_var2-65.htm

D'après vous, est-ce possible ? Sachant que là, il ne s'agit pas de répertoires virtuels, mais de noms de répertoires que je voudrais traduire.

Bien sûr, vous me direz que le plus simple est de renommer les répertoires "en dur", mais j'aimerais savoir si on peut faire de cette façon (intéressant quand un site multilingue à été construit avec des noms en français :blink: )

En fait, je voudrais savoir si on peut traduire à la volée tout ou partie d'une url.

Avez-vous une solution, ou une adresse à consulter ?

Merci d'avance,

Lien vers le commentaire
Partager sur d’autres sites

Salut Cliquedur,

Bien sûr, on peut tout réécrire, y compris les noms de répertoires.

Dans le cas qui t'intéresse (le renommage de repertoire1 en directory1) il te faudra utiliser une "RewriteMap" dans laquelle tu auras les correspondances de noms. Ce n'est peut-être pas la solution idéale.

Si tu étais sur un hébergement avec un accès ssh, la solution élégante "à la Unix" serait plutôt de créer des liens symboliques avec la commande "ln -s repertoire1 directory1"

Cette commande permet de créer un alias pour ce répertoire, et t'éviterais de devoir réécrire le nom pour chaque fichier demandé.

<edit=dan: vérification faite, le rewritemap ne peut s'utiliser que dans les contextes du fichier de configuration et les virtualhost, pas dans le .htaccess :( ) >

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Dan,

Merci pour ta réponse.

Donc pas de possibilité par le .htaccess ?

J'ai vru voir quelque chose qui passait pas un fichier texte avec les correspondances, hier.

Sur un serveur mutualisé, rien de faisable dans ce sens ? :(

Lien vers le commentaire
Partager sur d’autres sites

Salut Cliquedur,

Ce que tu as vu est un RewriteMap, que tu ne pourras pas activer dans un fichier .htaccess.

Selon le nombre de répertoires que tu as, les réécritures basées sur RewriteRule peuvent être envisageables.

Manifestement, s'il s'agit du site dans ton profil (60GP), tu ne peux pas non plus utiliser de liens symboliques, vu que tu n'as pas d'accès telnet/ssh pour les créer.

Dan

Lien vers le commentaire
Partager sur d’autres sites

En fait, ce n'est pas ce site.

Par contre, je peux peut-être voir ça avec la personne qui s'occupe du serveur. je ne sais par contre pas si il s'agit d'un dédié ou non, mais je pense qu'il sera prêt à faire le nécessaire.

En fait, le site est truffé d'animations flash dynamiques, ce qui fait que ceux qui l'ont monté ne vont plus mettre les "mains dans le moteur".

De toute façon, il ne me laisseront pas d'accès telnet/ssh, je pense. Je serais peut être bien embêté, d'ailleurs. Mais comme il y a un paquet de noms à traduire, si je leur donne les lignes, ils accepteront peut-être (ils ont du mal à se laisser évangeliser pour le référencement).

Pourrais-tu me donner un exemple ? Sachant, qu'il s'agit de répertoires et sous répertoires, et que la réécritture est déjà en place sur la partie variable des pages (/fiche.php?var1=12&var2=13 etc.)

ln -s repertoire1 directory1

=> correspond donc au remplacement du répertoire supérieur, mais si il y a un sous-répertoire ?

ln -s repertoire1 directory1
ln -s repertoire2 directory2 ?

Dans ce cas, si c'est quelque chose comme ça, il suffirait de changer le répertoire de destination dans le .htaccess ?

Je comprends qu'il s'agirait ici de prendre des cours. Donc si tu as une adresse où je peux trouver aisément la solution, n'hésites pas (j'espère seulement que cela présentera autant d'esprit pédagogique que toi :huh: )

Merci en tout cas pour ton temps et ton aide.

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