Url rewriting pour un site multilingue
Résolu
ThEBiShOp
Messages postés
9307
Statut
Contributeur
-
ThEBiShOp Messages postés 9307 Statut Contributeur -
ThEBiShOp Messages postés 9307 Statut Contributeur -
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.
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.
A voir également:
- Url rewriting pour un site multilingue
- Url - Guide
- Site de telechargement - Accueil - Outils
- Site pour vendre des objets d'occasion - Guide
- Site comme coco - Accueil - Réseaux sociaux
- Site pour partager des photos - Guide
7 réponses
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 ?
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 ?
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...) :
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
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
ca donne quoi ?
il y a peut être une erreur ...
et p'tet même des erreurs :o)
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)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
sur free j'ai une erreur 500 (...), sur 1&1 j'ai une 404, et sur easyphp de même.