[Résolu] Se passer de redirections (ou un code plus propre)
8 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- bistory
- WRInaute discret

- Messages: 96
- Inscription: 17 Juin 2006
[Résolu] Se passer de redirections (ou un code plus propre)
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 :
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: Tout sélectionner
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]
Dernière édition par bistory le Mer Juil 18, 2007 20:36, édité 1 fois.
-

KOogar - WRInaute accro

- Messages: 3974
- Inscription: 16 Nov 2004
- Code: Tout sélectionner
# 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]
- bistory
- WRInaute discret

- Messages: 96
- Inscription: 17 Juin 2006
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
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
- bistory
- WRInaute discret

- Messages: 96
- Inscription: 17 Juin 2006
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...
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...
- bistory
- WRInaute discret

- Messages: 96
- Inscription: 17 Juin 2006
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
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
- bistory
- WRInaute discret

- Messages: 96
- Inscription: 17 Juin 2006
AH c'est ok j'ai trouvé sur le forum dont j'ai donné le lien, mon htaccess devient donc :
Et voila je te remercie 1000 fois pour ton aide
- Code: Tout sélectionner
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
8 messages
• Page 1 sur 1
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 :
- Passer par son propre lien d'affiliation
- Editeur WYSIWYG avec un code source propre
- Mon code php vous parrait-il propre ?
- Comment Creer Son Propre Code audiotel?
- Filter son propre trafic dans GA avec le code asynchrone
- Le code GA à insérer me supprime du code html [Problème résolu]
- Passer a la ligne avec un code source
- [Résolu] Comment faire mon propre template ?
- [résolu]passer de .info en .fr
- [RESOLU] règle [R=301] ne conserve pas mon url propre
Consultez la description détaillée des produits ou services de Google suivants : Google Code
- Analyse de l'entête HTTP
Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
