Rechercher : dans
Par :

Url rewriting pour un site multilingue

Dernière réponse le 25 jui 2008 à 23:00:09 ThEBiShOp, le 23 jui 2008 à 19:34:20 
 Signaler ce message aux modérateurs

Bonjour à tous,

je voudrais mettre en place un url rewriting pour un site multilingue de la façon suivante :

page.php?lang=fr => /fr/page.php
page.php?lang=uk => /uk/page.php

en sachant que ce paramètre n'est pas obligatoire et que dans ce cas le langage par défaut est le français.

J'ai fait des recherches, bien sûr, mais les tutos et explications en tous genres sur l'url rewriting partaient un peu dans tous les sens pour une application relativement simple à première vue...

Merci à tous ceux qui prendront la peine de m'aider.

Configuration: Windows XP
Firefox 3.0.1

Meilleures réponses pour « url rewriting pour un site multilingue » dans :
[Webmaster] Empêcher l'aspiration de mon site VoirMéthode 1 : Le fichier robots.txt Ce fichier sert à donner des instructions aux robots des moteurs de recherche qui se baladent sur les sites. Vous pouvez leur indiquer les URL à suivre ou ne pas suivre. Vous pouvez même donner des directives...
Favicon - L'icône de votre site dans la barre d'adresse VoirVous avez sûrement remarqué la présence d'une icône à gauche de l'URL dans la barre d'adresse de votre navigateur sur certains sites web ? Pour mettre en place ce type d'icône sur votre propre site web il n'y a rien de plus simple. Créer la...
Ajouter son site dans les moteurs de recherche VoirComment ajouter son site dans les moteurs de recherche C'est une question que tous se posent ... Le principe est le même mais le fonctionnement est parfois différent selon les moteurs ! En voici donc quelques-uns, mais dans une liste non...
Télécharger URL Fixer VoirEn saisissant l'adresse Url d'un site ou page web, il est assez fréquent que vous commettiez une erreur. URL Fier est une extension pour Mozilla Firefox permettant de corriger les erreurs de saisie que vous pourriez faire dans la barre d'adresses....
Webmastering - Maintenance et mise à jour d'un site web VoirMaintenance Prévoir la logistique Mise à jour Vérification des liens Il n'est pas rare que les liens hypertextes présents sur le site deviennent obsolètes, on parle alors de liens brisés ou liens cassés. Le risque est d'autant plus grand que...
Webmastering - Nom de domaine VoirQu'est-ce qu'un nom de domaine ? Un site internet est défini par son URL. Ainsi, un site hébergé par un hébergeur gratuit (par exemple un fournisseur d'accès à internet) possède généralement une adresse du type : http://www.votre...
Fichier SIT VoirFormat SIT Un fichier SIT (StuffIT) est un fichier compressé provenant d'un ordinateur Apple sous le système Mac OS. Le logiciel de prédilection pour ouvrir ce type de fichiers sous Mac est StuffIt Expander (payant). Pour décompresser un fichier...

1

gryzzly, le 23 jui 2008 à 19:47:28

1) Il faut que tu regardes du coté des regex / expressions regulières ...
Et que tu regardes selon la particularité de ton serveur (apache, lighttpd, ...)

2) Dans quel sens tu veux que ton rewrite fonctionne ? lequel est l'url visible ?

Répondre à gryzzly

2

ThEBiShOp, le 23 jui 2008 à 21:17:35

Les regex, c'est relativement opaque pour moi...

url visible : /pays/page.php

Répondre à ThEBiShOp

3

gryzzly, le 23 jui 2008 à 23:29:49

Sans garantie de résultat, je considère que le nom de tes pages ne peuvent comprendre que des caractères alphanumériques = 0 à 9 et lettres non accentuées ; ainsi que les caractères tiret bas _ et tiret -

Fichier .htaccess proposé (n'ayant pas précisé, je suppose que tu es sous Apache...) :

RewriteEngine on
RewriteRule ^/([a-zA-Z]){2}/([a-zA-Z0-9_-]+)\.php $2.php?lang=$1 [L]
RewriteRule ^/([a-zA-Z0-9_-]+)\.php $1.php?lang=fr [L]


Résultat que je suppose obtenir avec ces règles (faudrait tester, la flemme de lancer apache et d'écrire des pages pour faire tourner) :

url de type : www.domaine.tld/nom_de_la_page.php ==> appelle ==> nom_de_la_page.php?lang=fr
url de type : www.domaine.tld/code_pays/nom_de_la_page.php ==> appelle ==> nom_de_la_page.php?lang=code_pays

Répondre à gryzzly

4

gryzzly, le 25 jui 2008 à 12:25:01

Ca donne quoi ?

il y a peut être une erreur ...

RewriteEngine on
RewriteRule ^/([a-zA-Z]{2})/([a-zA-Z0-9_-]+)\.php $2.php?lang=$1 [L]
RewriteRule ^/([a-zA-Z0-9_-]+)\.php $1.php?lang=fr [L]


et p'tet même des erreurs :o)

Répondre à gryzzly

5

ThEBiShOp, le 25 jui 2008 à 22:10:51

Tout d'abord merci de votre aide

sur free j'ai une erreur 500 (...), sur 1&1 j'ai une 404, et sur easyphp de même.

Répondre à ThEBiShOp

6

gryzzly, le 25 jui 2008 à 22:53:56

Sur free, c'est normal, rewrite interdit.
404 = non trouvé ... y'a donc erreurs :o)

Je ne peux que te conseiller de lire un peu des infos sur les regex ...

Répondre à gryzzly

7

 ThEBiShOp, le 25 jui 2008 à 23:00:09

Ouais, je pense que je vais opter pour un sous-domaine du style http://en.mon-site.com et un script php qui va récupérer le sous-domaine pour détecter et changer la langue... Plus simple pour moi :)

Merci de votre aide.

Répondre à ThEBiShOp