8791 sujets

Développement web côté serveur, CMS

Amis codeurs (et les autres aussi), bonjour,

Je rencontre un petit soucis au niveau de l'affichage des URL pour la traduction de mon site.
Je m'explique :

J'ai un site (comportant pas tant de page que ca), qui doit être décliné en 3 voir 4 langages différents.
J'ai donc géré ma traduction en PHP, avec des paramètres de type "?lang=fr" etc.
Seulement, dans un soucis de référencement, je voudrais que cela s'affiche sous cette forme la :
http://mondomaine.com/fr/mapage.php (au lieu donc de: http://mondomaine.com/mapage.php?lang=fr ).

J'ai compris qu'il fallait passer par un .htaccess (assez nouveau et obscure pour moi, je le reconnais).
J'ai essayé plusieurs syntaxe, soit de mon cru, soit pioché sur le net et adapté, et je tombe soir sur une erreur 500 soit l'url ne change pas du tout....

Avez vous quelques idées à me soumettre ? Smiley biggol
Hello,

Est-ce que mod_rewrite est activé sur ton Apache/PHP ?
Si oui, peux-tu coller ton .htaccess dans ton message pour examen ?

Sam
Oui, le Rewrite fonctionne, vu que j'ai réussi à faire une boucle de redirection infini ( Smiley bawling )

Le fichier est quasi vide :


SetEnv PHP_VER 5
RewriteEngine On

RewriteRule ^([a-z]*)\.php /index.php?lang=$1 [L]


J'ai que ca pour le moment, la ligne de redirection ne marche pas (c'était un test ...)
C'est normal qu'ainsi tu ais une boucle infinie : la réponse correspond à la condition.

Tu dois avoir un truc comme :

rewriterule ^fr/(\w+).php$ /$1.php?lang=fr [QSA,L]

(c'est une piste à approfondir)
Modifié par ericvoilier (12 Jan 2012 - 02:31)