[Résolu] Se passer de redirections (ou un code plus propre)

Discussion dans 'URL Rewriting et .htaccess' créé par bistory, 18 Juillet 2007.

  1. bistory
    bistory WRInaute discret
    Inscrit:
    17 Juin 2006
    Messages:
    77
    J'aime reçus:
    0
    Bonjour à tous,
    Voila, j'ai changé de serveur web hier et j'ai un problème que j'ai dû régler à la barbare car le nouveau serveur n'acceptait pas ma précédente configuration...
    Le but de mon rewriting est de prendre les sous-domaines pour créer des sites web indépendants le tout dynamiquement.
    Tout fonctionne bien dans la configuration actuelle mais le problème est que ça fait une redirection 301 et donc, pour la SEO, pour la visibilité et pour le nombre de requetes passées au serveur, c'est pas terrible :)
    En fait ce que j'aimerais faire c'est que quand un visiteur entre l'adresse http://subdom.domain.com/accueil.html , ça réécrive le chemin pour http://www.domain.com/online/index.php? ... cueil.html
    Dans l'état actuel des choses, ça redirige le visiteur vers http://www.domain.com/online/subdomain/accueil.html ... (donc cette url-là est visible dans le navigateur).
    Et pour courronner le tout, le code n'est pas des plus propres puisque c'est une succession de rustines de patches en fonction de la redirection barbare que j'ai fait...
    Je serais vraiment très reconnaissant si vous pouviez m'aider un petit peu ;)

    Merci de votre aide, voici le htaccess que j'utilise :

    Code:
    Options +FollowSymlinks
    RewriteEngine on
    # Si le domaine est http://domain.com , redirige vers http://www.domain.com 
    RewriteCond %{HTTP_HOST} ^domain.com$
    RewriteRule ^(.*)   http://www.domain.com$1  [QSA,L,R]
    
    # Extrait le sous-domaine si différent de "www" et redirige vers le path réel
    RewriteCond %{HTTP_HOST} !^www.domain.com [NC]
    RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com [NC]
    RewriteRule (.*) http://www.domain.com/online/%1/$1 [L,R=301]
    
    # Diverses réécritures à effectuer après la redirection
    RewriteRule ^online/([0-9a-zA-Z\-_]+)/news.rss$  /online/rss.php?id=$1  [L]
    RewriteRule ^online/([0-9a-zA-Z\-_]+)/?$  /online/index.php?id=$1&page=  [L]
    RewriteRule ^online/([0-9a-zA-Z\-_]+)/news-(.+).phtml$  /online/index.php?id=$1&page=news.phtml&news_lire=$2  [L]
    RewriteRule ^online/([0-9a-zA-Z\-_]+)/(.*).phtml$  /online/index.php?id=$1&page=$2.phtml  [L]
    RewriteRule ^online/([0-9a-zA-Z\-_]+)/(.*).html$  /online/index.php?id=$1&page=$2.html  [L]
     
  2. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    82
    Code:
    # Extrait le sous-domaine si différent de "www" et redirige vers le path réel 
    RewriteCond %{HTTP_HOST} !^www.domain.com [NC] 
    RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com [NC] 
    RewriteRule (.*) http://www.domain.com/online/index.php?id=%1$page=$1 [L,R=301]
     
  3. bistory
    bistory WRInaute discret
    Inscrit:
    17 Juin 2006
    Messages:
    77
    J'aime reçus:
    0
    Merci d'avoir répondu, je me suis peut-être mal exprimé, et je m'en excuse car ce n'est pas ce que je veux ;)
    Je voudrais arriver à me passer de la redirection et donc que dans le navigateur du visiteur soit affiché http://subdom.domain.com/accueil.html alors que ça fait appel à la page http://www.domain.com/online/subdom/accueil.html (toujours en tenant compte des multiples possibilités qui sont celles en-dessous du code que tu as cité et modifié)...

    Merci par avance ;)
     
  4. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    82
    pas de solution.

    C'est le navigateur qui fait la demande de la page au serveur. Il envoi 1 adresse et le serveur lui renvoi la page.

    deplace tes fichiers...
     
  5. bistory
    bistory WRInaute discret
    Inscrit:
    17 Juin 2006
    Messages:
    77
    J'aime reçus:
    0
    Il doit bien y avoir une solution avant que je change de serveur, je pouvais me passer de redirection, mais la ligne
    RewriteRule (.*) http://www.domain.com/online/%1/$1 [L,R=301]
    était ainsi :
    RewriteRule (.*) http://www.domain.com/online/%1/$1 [P,L]
    Mais depuis que j'ai changé de serveur, cette configuration-là ne fonctionne plus...
     
  6. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 643
    J'aime reçus:
    82
    plus ca avance, plus je m'emele avec ton probleme. Maintenant ce que je comprend, c'est que tu as demenagé ton site et que ce qui marchais chez l'un ne marche plus chez l'autre ?
     
  7. bistory
    bistory WRInaute discret
    Inscrit:
    17 Juin 2006
    Messages:
    77
    J'aime reçus:
    0
    Oui je suppose que c'est parce que je suis passé d'apache 1.3 à apache 2.0, de l'eau a coulé sous les ponts entre les deux versions (surtout que la 1.3 n'était pas tenue à jour sur l'ancien serveur) et j'avais trouvé la solution du P,L un peu par hasard en essayant plein de trucs ^^

    Comme mon problème n'est pas très simple à comprendre, je vais tenter de le réexpliquer à fond...

    Donc j'ai un site (mon www) qui permet aux membres de créer leur propre site.
    Avant mon déménagement de serveur, j'utilisais le même htaccess avec la petite nuance que je t'ai donnée.
    Depuis mon déménagement, cette astuce ne fonctionne plus donc au lieu d'avoir des sous-domaines en dur, je me retrouve avec des redirections...
    Or, ce que je voudrais c'est que ces domaines restent bien en dur et pour des raisons de performances, j'aimerais me passer de la redirections qui fait des connexions intempestives sur le serveur...

    Je suis aussi tombé sur ça : http://forum.modrewrite.com/viewtopic.php?t=3416 mais il me semble que ça reste encore une fois une redirection :s
     
  8. bistory
    bistory WRInaute discret
    Inscrit:
    17 Juin 2006
    Messages:
    77
    J'aime reçus:
    0
    AH c'est ok j'ai trouvé sur le forum dont j'ai donné le lien, mon htaccess devient donc :
    Code:
    Options +FollowSymlinks
    RewriteEngine on
    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteCond %{HTTP_HOST} ^(.*)\.wikeo\.be$ [NC]
    RewriteCond %1 !^www$ [NC]
    RewriteRule ^(.*)$ /online/%1/$1 [L]
    
    RewriteRule ^online/([0-9a-zA-Z\-_]+)/news.rss$  /online/rss.php?id=$1  [L]
    RewriteRule ^online/([0-9a-zA-Z\-_]+)/?$  /online/index.php?id=$1&page=  [L]
    RewriteRule ^online/([0-9a-zA-Z\-_]+)/news-(.+).phtml$  /online/index.php?id=$1&page=news.phtml&news_lire=$2  [L]
    RewriteRule ^online/([0-9a-zA-Z\-_]+)/(.*).phtml$  /online/index.php?id=$1&page=$2.phtml  [L]
    RewriteRule ^online/([0-9a-zA-Z\-_]+)/(.*).html$  /online/index.php?id=$1&page=$2.html  [L]
    Et voila je te remercie 1000 fois pour ton aide ;)
     
Chargement...
Similar Threads - [Résolu] passer redirections Forum Date
[résolu] [mysql] passer un champ à une valeur donnée pour tous les enregistrements Développement d'un site Web ou d'une appli mobile 25 Mars 2011
[Résolu] passer une variable php dans le serveur Développement d'un site Web ou d'une appli mobile 12 Janvier 2007
[résolu]passer de .info en .fr Débuter en référencement 3 Novembre 2006
Problème images en https (forum phpbb) [résolu] Développement d'un site Web ou d'une appli mobile 18 Novembre 2017
[Résolu] Redirection 301 FR vers EN sur Prestashop uniquement sur outils Google ? Problèmes de référencement spécifiques à vos sites 11 Septembre 2017
[résolu] Passage à HTTPS, comment tester une page ? Développement d'un site Web ou d'une appli mobile 7 Septembre 2017
[Résolu] Redirection d'une famille d'URL URL Rewriting et .htaccess 9 Mars 2017
[Résolu] Diaporama et SEO Débuter en référencement 17 Janvier 2017
[résolu]Redirection monsite.fr/index.html sur monsite.fr et seo URL Rewriting et .htaccess 16 Janvier 2017
[resolu]Publicité facebook lié au compte instagram Facebook 12 Décembre 2016
[résolu] Récupérer des valeurs issues de javascript pour les mettre en base MySQL Développement d'un site Web ou d'une appli mobile 18 Juillet 2016
[résolu] Faire une redirection sauf pour mon adresse IP URL Rewriting et .htaccess 15 Juin 2016
[Résolu] 2 descriptions pour une même url selon requête Crawl et indexation Google, sitemaps 1 Juin 2016
[résolu] Action onchange sur FORM/SELECT qui ne fonctionne qu'à la première action ?!? Développement d'un site Web ou d'une appli mobile 31 Mai 2016
[résolu] Sessions : lire le contenu alors qu'on ne sait pas comment il est nommé... Développement d'un site Web ou d'une appli mobile 25 Mai 2016
[résolu] Avoir un paramètre de session "dynamique" ? Développement d'un site Web ou d'une appli mobile 25 Mai 2016
[résolu] Hauteur de div selon état d'un bouton radio Développement d'un site Web ou d'une appli mobile 23 Mai 2016
[résolu] recupération de flux xml et erreur encodage des caractères Développement d'un site Web ou d'une appli mobile 27 Janvier 2016
[résolu] Carte Google Maps avec "zones de densité" Développement d'un site Web ou d'une appli mobile 5 Novembre 2015
Balise NoIndex ignorée par Google? [résolu] Débuter en référencement 13 Janvier 2015