url rewriting dans nom de domaine

Discussion dans 'Netlinking, backlinks, liens et redirections' créé par jeanvilou, 13 Mai 2008.

  1. jeanvilou
    jeanvilou Nouveau WRInaute
    Inscrit:
    22 Avril 2008
    Messages:
    23
    J'aime reçus:
    0
    Bonjour,

    je sais que le sujet est évoqué souvent mais voila mon problème, il n'est pas si évident.

    J'ai un site internet multilangues et plusieurs noms de domaines locaux.
    La variable de langue qui se stocke en session est d'abord passé en GET.

    Ce que je souhaite c'est que si un internet tape www.monsite.es il arrive en fait sur www.monsite.fr/?langue=es MAIS que l'url affichée soit www.monsite.es.

    Je sais qu'avec une redirection invisible il n'y a pas de probleme, mais justement je souhaite que les noms des répertoires (en fait en url rewriting) soient visibles. Donc que:

    www.monsite.es/repertoire appelle en fait www.monsite.fr/repertoire par exemple...

    si quelqu'un cerne mon probleme et a une solution je suis preneur ! Merci par avance de votre aide !
     
  2. webmasterlamogere
    webmasterlamogere WRInaute passionné
    Inscrit:
    17 Décembre 2006
    Messages:
    1 647
    J'aime reçus:
    1
    tu peux ajouter une condition pour limiter une règle de réécriture avec l'instruction RewriteCond
     
  3. jeanvilou
    jeanvilou Nouveau WRInaute
    Inscrit:
    22 Avril 2008
    Messages:
    23
    J'aime reçus:
    0
  4. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    Ne met pas R=301 sinon c'est l'adresse réécrite qui va s'afficher, pas l'adresse tapée dans le navigateur.

    Et le L n'est pas nécéssaire si tu fais une redirection externe.

    Bref, essaie donc ça:

    Code:
    RewriteCond %{HTTP_HOST} ^www\.monsite\.es$
    RewriteRule (.*) http://www.monsite.fr/?langue=es [QSA]
    
    le QSA est là si tu passe d'autres paramètres.

    Pour que ça marche il faut que le domaine en .es pointe vers le même espace disque que le domaine en .fr
     
  5. jeanvilou
    jeanvilou Nouveau WRInaute
    Inscrit:
    22 Avril 2008
    Messages:
    23
    J'aime reçus:
    0
    ok, merci, je vais tester
     
  6. jeanvilou
    jeanvilou Nouveau WRInaute
    Inscrit:
    22 Avril 2008
    Messages:
    23
    J'aime reçus:
    0
    hello, ok j'ai testé ceci:

    RewriteCond %{HTTP_HOST} ^www\.monsite\.co.uk$
    RewriteRule (.*) http://www.monsite.fr/?lang=uk [QSA]

    et ca fonctionne, il y a bien une redirection qui s'effectue MAIS ce que je cherche à faire serait au lieu d'avoir http://www.monsite.fr/test/?l=uk dans la barre d'adresse d'avoir http://www.monsite.co.uk/test/?l=uk

    pour faire clair:

    si on tape www.monsite.co.uk/test on arrive sur www.monsite.fr/test/?lang=uk mais qui s'affiche www.monsite.co.uk/test dans la barre d'état

    je suis désolé si je ne suis pas très clair mais je ne vois pas bien comment l'expliquer, si toutefois quelqu'un a une idée... merci !
     
  7. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    C'est clair, pas de souci.

    Est-ce que tes deux domaines pointent vers le même espace disque? Autrement dit, sans réécriture, est-ce que www.monsite.co.uk et www.monsite.fr sont sur le même hébergeur et pointent vers le même espace disque?
     
  8. jeanvilou
    jeanvilou Nouveau WRInaute
    Inscrit:
    22 Avril 2008
    Messages:
    23
    J'aime reçus:
    0
    non actuellement ce n'est pas redirigé exactement vers le même endroit, c'est sur le même serveur mais sur deux dossier dufférents, cela peut évidemment etre changé si ca peut m'aider a obtenir des urls optimisées
     
  9. jeanvilou
    jeanvilou Nouveau WRInaute
    Inscrit:
    22 Avril 2008
    Messages:
    23
    J'aime reçus:
    0
    bon j'ai fait pointer les deux urls vers le même serveur avec un alias pour le point co.uk mais j'ai un message d'erreur interne...
     
  10. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    C'est normal, ta redirection pointant désormais sur le meme endroit, ca boucle.

    Maintenant que tes deux domaines sont équivalents sur le disque, tu peux mettre une règle très simple:

    Code:
    RewriteCond %{HTTP_HOST} ^www\.monsite\.co.uk$
    RewriteRule (.*) /index.php?lang=uk [QSA] 
    
    en supposant que ta page d'index est index.php
     
  11. jeanvilou
    jeanvilou Nouveau WRInaute
    Inscrit:
    22 Avril 2008
    Messages:
    23
    J'aime reçus:
    0
    bonjour, merci de l'astuce, la redirection et la réécriture se font bien, juste un bémol, mais liens ne fonctionnent pas...

    par exemple si je souhaite accéder à la page:
    http://www.monsite.co.uk/pages.php?p=ma_page

    j'arrive sur
    http://www.monsite.co.uk/index.php?lang=uk&p=ma_page

    c'est normal vu la règle d'écriture, car si j'ai bien compris a chaque fois qu'on écrit www.monsite.co.uk c'est remplacé par /index.php?lang=uk

    j'ai également une autre règle qui est
    RewriteRule ^([a-z0-9_-]+)$ pages.php?p=$1 [L]

    qui permet de remplacer http://www.monsite.co.uk/pages.php?p=ma_page par http://www.monsite.co.uk/ma_page

    je suis désolé je ne suis au top en matière de réécriture d'url... comment puis-je faire pour que mes liens soient pris en compte ? merci par avance ! (pour que http://www.monsite.co.uk/ma_page s'affiche correctement)
     
  12. jeanvilou
    jeanvilou Nouveau WRInaute
    Inscrit:
    22 Avril 2008
    Messages:
    23
    J'aime reçus:
    0
  13. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    Peux tu mettre toutes tes règles (dans l'ordre ou elles sont dans le .htaccess) et aussi toutes les réécritures que tu veux?

    EN effet, ssi tu me les distille une a une on va mettre longtemps :wink:

    Mais je crois savoir ce que tu veux, et ça me parait faisable. Mais je préfère que tu me dise ce que tu veux au lieu de devoir le deviner!
     
  14. jeanvilou
    jeanvilou Nouveau WRInaute
    Inscrit:
    22 Avril 2008
    Messages:
    23
    J'aime reçus:
    0
    oui excuse moi, désolé, c'est vrai j'aurais dit tout mettre de puis le début...

    alors voila j'ai un site internet, qui doit etre visible sur 3 noms de domaines, avec une langue différente par nom de domaine.
    Toutes les pages sont contenues dans une base de données. Une base par langue.

    Quand on tape www.monsite.es ou www.monsite.co.uk on doit arriver sur www.monsite.fr/?l=uk ou www.monsite.fr/?l=uk
    L'url rewriting doit permettre, si l'on tape un nom de domaine différent de .fr de réécrire le .fr en .co.uk ou .es selon l'url tapée.

    Ensuite la va variable $_GET['l'] est reprise dans uen variable de session, et c'est sur cette variable qu'on sélectionne la base de données où il faut extraire les textes.

    On peut par exemple avoir une page de type www.monsite.es/pages.php?p=ma_page

    mais je souhaite que cette page soit appellée de cette manière: www.monsite.es/ma_page et qui correspond en fait à www.monsite.fr/pages.php?p=ma_page AVEC la variable de session langue définie come ES pour l'espagne.

    Voici mon .htaccess:

    RewriteCond %{HTTP_HOST} ^www\.anyword\.es$
    RewriteRule (.*) /test2/?l=es [QSA]

    RewriteRule ^([a-z0-9_-]+)$ pages.php?p=$1 [L]

    ... et c'est tout !


    pour le moment tout fonctionne sauf la réécriture des pages.php?p=ma_page

    pour faire plus simple j'ai essayé de supprimer la page "pages.php" pour ne travailler qu'avec le fichier index, qui selon la variable $p affiche soit le contenu de la home page, soit le contenu de la page indiqué par la variable. j'ai testé avec www.monsite.es/?p=ma_page (qui correspondont en fait à www.monsite.fr?index.php?l=es&p=ma_page) et j'obtiens bien le contenu souhaité mais si je fais www.monsite.es/ma_page je reste sur la page index.

    voila où j'en suis... c'est pas évident en fait...
     
  15. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    C'est ce que je pensais, merci d'avoir confirmé.

    Essaie d'intervertir les règles :

    Code:
    RewriteRule ^([a-z0-9_-]+)$ pages.php?p=$1 [L] 
    
    RewriteCond %{HTTP_HOST} ^www\.anyword\.es$
    RewriteRule (.*) /test2/?l=es [QSA]
    
    Ca devrait mieux marcher.

    Mais si quelqu'un suit un lien vers une page autre que l'index, sans passer par l'index, la variable de session sur la langue ne sera pas renseignée. Que feras tu dans ce cas?

    il me semble plus sûr de continuer a passer la langue en parametre:

    Code:
    RewriteCond %{HTTP_HOST} ^www\.anyword\.fr$
    RewriteRule ^([a-z0-9_-]+)$ pages.php?l=fr&p=$1 [L] 
    
    RewriteCond %{HTTP_HOST} ^www\.anyword\.es$
    RewriteRule ^([a-z0-9_-]+)$ pages.php?l=es&p=$1 [L] 
    
    RewriteCond %{HTTP_HOST} ^www\.anyword\.fr$
    RewriteRule (.*) /test2/?l=fr [L]
    
    RewriteCond %{HTTP_HOST} ^www\.anyword\.es$
    RewriteRule (.*) /test2/?l=es [L]
    
     
  16. jeanvilou
    jeanvilou Nouveau WRInaute
    Inscrit:
    22 Avril 2008
    Messages:
    23
    J'aime reçus:
    0
    merci c'est cool, ca fonctionne. Sinon je peux, en php, définir la variable la valeur de la session lang selon le nom de domaine utilisé non ? ou encore selon la langue du navigateur ? qu'en penses-tu ? merci encore en tout cas !
     
  17. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    Il y a des sites qui utilisent la langue du navigateur en effet.

    Personnellement ca me gave, car le navigateur sur mon PC au boulo est en anglais, ce qui rend impossible la visite de la la version française de certains sites!

    Je n'aime pas les choix automatiques, je préfère qu'on me laisse le choix.

    Par contre, une fois le choix faut j'aime bien qu'il soit respecté. Donc si je clique sur un petit drapeau français, je m'attend ensuite à ne visiter que des pages en français. Même si la langue de mon navigateur est l'anglais.

    Je ne sais pas si je suis représentatif, continue à demander l'avis d'autres, y compris sur d'autres forums (webmasterhub par exemple). Ici, ouvre un autre topic, car ce n'est plus un problème de réécriture, ni de page rank et redirection...

    Bon courage pour la suite en tout cas!
     
  18. jeanvilou
    jeanvilou Nouveau WRInaute
    Inscrit:
    22 Avril 2008
    Messages:
    23
    J'aime reçus:
    0
    merci beaucoup pour ton aide Vap ! A+
     
Chargement...
Similar Threads - rewriting nom domaine Forum Date
url rewriting ou achat de nouveau noms de domaine svp.. URL Rewriting et .htaccess 14 Septembre 2011
probleme rewriting pour masquer le nom de domaine URL Rewriting et .htaccess 23 Juin 2011
URL rewriting et nom de domaine URL Rewriting et .htaccess 21 Septembre 2006
URL rewriting appliqué au nom de domaine ? URL Rewriting et .htaccess 17 Avril 2006
Questions url rewriting et noms de domaine Débuter en référencement 2 Février 2006
rewriting d'un nom de domaine vers un autre avec même ss-dom URL Rewriting et .htaccess 18 Décembre 2005
Rewriting dynamique www.pseudo.nomdedomaine.com URL Rewriting et .htaccess 22 Novembre 2005
URL rewriting et changement de nom de domaine URL Rewriting et .htaccess 3 Décembre 2004
Rewriting de nom de domaine avec variable URL Rewriting et .htaccess 29 Novembre 2004
Url rewriting et nom de domaine redirigé URL Rewriting et .htaccess 23 Avril 2003
Rewriting URL : remplacer product ID par le nom du produit, possible ? URL Rewriting et .htaccess 24 Mai 2011
peut on personnaliser url rewriting par rapport au nom des produits Débuter en référencement 27 Novembre 2010
URL rewriting : pertinence du filtrage des mots "inutiles/courants" (pronoms, articles...) Rédaction web et référencement 18 Mai 2010
Rewriting pour renommer des pages html ou php ? URL Rewriting et .htaccess 8 Avril 2010
Url-Rewriting et ancre nommée URL Rewriting et .htaccess 14 Septembre 2009
URL Rewriting - recherche par nom au lieu d'ID demande de conseils URL Rewriting et .htaccess 12 Avril 2009
Pages qui ont changé de nom suite à un Rewriting Netlinking, backlinks, liens et redirections 10 Avril 2009
Url rewriting sur url à nombres de mots variables URL Rewriting et .htaccess 8 Septembre 2007
rewriting d'un nom de domain pour images URL Rewriting et .htaccess 28 Juillet 2007
rewriting d'un nombre en chaine de caractère URL Rewriting et .htaccess 16 Juin 2007