Aller au contenu

rewriterule pas si évidente .........


Sujets conseillés

bonjour tout le monde!

apparemment je n'ai pas tout essayé autrement j'aurai trouvée la solution! :(

voilà mon problème:

il s'agit d'un site polyglotte. sur chaque page du site sont donc présents les différents drapeaux des langues inactives du site (cad un navigateur français vera tous les drapeaux à l'exception du français). jusque là tout va bien.

exemple: j'ai dans la barre d'adresse le lien comme

......mondomaine.tld/page_active.php

je clique sur un des drapeaux (anglais p.e.) et je me retrouve avec:

......mondomaine.tld/page_active.php?language=en&x=9&y=15

ce que je trouve fort désagréable.

donc ma question quelle règle du rewrite (dans .htaccess) dois-je utiliser pour faire disparaître tout ce qui a atrait à la langue et ces coordonnées (qui semblent être les coordonnées de l'emplacement du drapeau), tout en sachant que toutes les pages sont concernées???

toute aide sera apréciée et je vous en remercie par avance.

Modifié par fladnag
Lien vers le commentaire
Partager sur d’autres sites

Salut,

Tu dois pouvoir faire :

RewriteRule ^page_active-([a-z]+)-([0-9]+)-([0-9]+).html$ page_active.php?language=$1&x=$2&y=$3 [L]

donc ma question quelle règle du rewrite (dans .htaccess) dois-je utiliser pour faire disparaître tout ce qui a atrait à la langue et ces coordonnées

L'url rewriting ne fait rien disparaître, il transforme ! (ou plutôt, comme son nom l'indique... il ré-écrit ;) )

Lien vers le commentaire
Partager sur d’autres sites

salut,

merci pour ta réponse, cependant elle est d'une part incomplète et d'autre part ma question n'est en aucun cas en contradiction avec le propos du "rewriting"; je m'explique:

1) ma question concerne toutes les pages (et pas uniquement une seule comme dans l'exemple la page "page_active")

2) tout à fait d'accord avec "...rien disparaître, il transforme", mais qui interdit de transformer quelconque caractère en rien?

Lien vers le commentaire
Partager sur d’autres sites

merci pour ta réponse, cependant elle est d'une part incomplète et d'autre part ma question n'est en aucun cas en contradiction avec le propos du "rewriting"; je m'explique:

Je n'aime pas trop ta manière de formuler cela : "d'une part incomplète" peut être pris comme un reproche, j'ose espérer que ce n'est pas le cas, et d'ailleurs, c'est volontaire qu'elle soit incomplète, le but du Hub n'est pas de donner des solutions pré-machées, mais de donner les pistes pour y arriver, c'est plus éducatif, et donc plus profitable. Après bien sûr si tu peines toujours, tu peux revenir pour que l'on éclaircisse certains points.

1) ma question concerne toutes les pages (et pas uniquement une seule comme dans l'exemple la page "page_active")

Bien justement, la tu as UN exemple, avec ce dernier, et un peu de réflexion, tu peux modifier assez facilement cette règle de ré-écriture pour qu'elle soit générique.

2) tout à fait d'accord avec "...rien disparaître, il transforme", mais qui interdit de transformer quelconque caractère en rien?

Parce qu'il ne faut pas voir coté caractère, mais plutôt par rapport à des motifs d'expressions régulières, tel motif remplira telle valeur et ainsi de suite.

Lien vers le commentaire
Partager sur d’autres sites

salut dadou,

" .... je n'aime pas trop ta manière ...."

j'en conviens. le pragmatisme n'est pas toujours apprécié ........ cependant tu remarqueras que je ne manque pas de contenance et le "bonjour" ou équivalent est toujours de rigueur, quelle que soit la circonstance .......

ceci dit, ce n'était en aucun cas un reproche, surtout que j'ai longtemps cherché où poser cette question et ce forum me parassait de loin le plus compétent et le plus complet. me suis-je trompé?

non obstant, le coté éducatif ....... c'est certes plus profitable, mais qu'y-a-t'il de néfaste à une solution? y en a-t'il vraiment, dans quel cas il serait compréhensible de rester évasif? (questions purement rhétoriques ne nécessitant aucune réponses)

en effet, je peine toujours, une aide un tantinet plus complète serait donc grandement appréciée. comme mentionné dans la question, je crois avoir fais le tour du sujet mais à cause de tous ces arbres, je ne vois plus la forêt et me voilà dans une impasse.

je me permet de reformuler ma question: qelle serait la bonne rule pour éliminer 3 variables dans la barre d'adresses, quelle que soit la page?

merci par avance!

Lien vers le commentaire
Partager sur d’autres sites

Le souci que tu as, c'est que ton drapeau semble être un input type="image", dans un formulaire (D'où les coordonnées de clic).

Pour supprimer les affichages désagréables dans l'url, il te suffirait de passer le formulaire en post (Et de le traiter comme tel). Tu n'as pas à utiliser l'url rewriting pour ça.

Pour information, l'url rewriting ne peut pas faire ce que tu demandes : transformer dans le navigateur une url peu agréable. Il faut d'abord faire en sorte de pouvoir générer une url propre, et ensuite seulement, l'url rewriting permet de la faire correspondre de manière transparente à une url existante pleine de paramètres.

Lien vers le commentaire
Partager sur d’autres sites

non obstant, le coté éducatif ....... c'est certes plus profitable, mais qu'y-a-t'il de néfaste à une solution?

Le copier/coller sans chercher à comprendre la réponse qui à été fournie.

Lien vers le commentaire
Partager sur d’autres sites

salut captain_torche,

chapeau bas! voilà quelqu'un de compétent! effectivement l'input est du type image et le form est en methode get. il est aussi vrai que je n'ai pas ce souci en ayant la méthode en post, cependant lors d'un refresh de la page le serveur demande confirmation, ce qu'il ne fait pas en get, d'où ma requête. je constate toutefois qu'il n'y a pas de solution souhaitable. une fois de plus s'avère la règle correcte: "on a que les soucis qu'on se créé soi-même!"

merci quand-même pour ton analyse et ta réponse trés pertinente.

Lien vers le commentaire
Partager sur d’autres sites

J'en profite pour rajouter que le système tel que tu l'as conçu est loin d'être idéal pour le référencement : les urls des pages en langue étrangère ne changent pas, quelle que soit leur langue. Elles seront donc toutes ignorées des moteurs de recherche (Qui ignorent totalement les formulaires).

Dans l'idéal, il faudrait faire un simple lien sur chaque drapeau, qui pointerait vers une url différente, comme tondomaine.tld/en/page_active.php, ou même tondomaine.tld/page_active.php?language=en

Dans le premier de ces deux cas, l'url rewriting pourrait effectivement t'aider, et ferait rediriger la page vers la seconde. Toutefois, le paramètre language ne devrait plus être gardé en session, mais répété sur toutes les pages.

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