[URL Rewriting] Réécriture en fonction de la langue

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

Arkay
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 3
Inscription: 27 Jan 2008

[URL Rewriting] Réécriture en fonction de la langue

Message le Mar Jan 29, 2008 11:45

Bonjour a tous

J'essaye "desesperement" de faire marcher ces |#\^`#~ de redirections et a priori je suis loin d'avoir tout compris à l'url rewriting.

Ce que je veux :
Lorsqu'un utilisateur tappe :

1) http://www.monsite.com il est redirigé vers http://www.monsite.com/fr/index.html
2) http://www.monsite.com/fr ou http://www.monsite.com/fr/ il est redirigé vers http://www.monsite.com/fr/index.html
2bis) http://www.monsite.com/en ou http://www.monsite.com/en/ il est redirigé vers http://www.monsite.com/en/index.html
3) http://www.monsite.com/test.html il est redirigé vers http://www.monsite.com/fr/test.html

Les points 1) et 2) ont l'air de marcher correctement ...
Mais pour le 3, il n'est redirigé nul part (et ca affiche donc http://www.monsite.com/test.html).
Et pour le 2bis j'arrive pas à récupérer le "/fr/" ou le "/en/" dans l'URL.

RewriteRule ^(fr|en)$ $1/ [R]

RewriteCond %{HTTP_HOST} ^www.monsite.com$
RewriteCond %{REQUEST_URI} ^/(?!fr|en)$
RewriteRule ^(.*)$ /fr/index.html [R=301]

RewriteCond %{HTTP_HOST} ^www.monsite.com$
RewriteCond %{REQUEST_URI} ^/(.*)/$
RewriteRule ^(.*)$ /fr/index.html [R=301]


Dans mon esprit :
- regle 1 : si il n'a pas mis de / apres http://www.monsite.com/fr ou http://www.monsite.com/en alors je le rajoute
- regle 2 : si il n'y a pas de fr ou de en alors je le redirige vers le fr
- regle 3 : si il a ecrit /fr/ ou /en/ pour le moment je le redirige uniquement vers le /fr/ vu que j'arrive pas a le catcher

Peut etre que je me suis pris la tete pour rien et que ya une solution "simple" ...
En attente d'une aide précieuse :roll:


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Mar Jan 29, 2008 15:41

si "/en" et "/fr" sont des répertoires physiques la redirection est normalement automatique de "/en" vers "/en/"

je te conseille de rediriger /rep/index.html vers /rep/ (c'est plus propre) :

Code: Tout sélectionner
#redirige /index.html vers /
RewriteRule ^(.*)index\.html$ $1 [R=301]
#redirige si ce n'est pas un répertoire, un fichier et ne commence pas par /en/ ou /fr/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/(en|fr)/
RewriteRule ^(.*)$ /fr/$1 [R=301] 

Arkay
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 3
Inscription: 27 Jan 2008

Message le Jeu Jan 31, 2008 14:22

Merci beaucoup !

Je connaissais pas :
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

et en effet ca fonctionne tout de suite beacoup mieux maintenat :)

joxp
WRInaute discret
WRInaute discret
 
Messages: 81
Inscription: 20 Juil 2006

Message le Jeu Juin 12, 2008 8:24

bonjour

j'ai quelquechose de similaire à faire sur www.monsite.fr

JE soujhaiterais que

1. www.monsite.eu/ aille vers www.monsite.eu/index.php?lang=es
2. Mais il faudrait aussi que www.monsite.es/page.php?cat=2 renvoie vers www.monsite.es/page.php?cat=2&lang=spanish

Pouvez vous m'aidez svp ?

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.monsite.es$
RewriteRule ^(.*)$ /index.php?lang=spanish [R=301]

Mais dans le cas 2, bien sur ça redirige sur le .fr, ce que je ne souhaite pas ( www.monsite.fr/index.php?lang=spanish )

merci


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité