URL Rewriting complexe ?

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

gueudz
Nouveau WRInaute
 
Messages: 31
Inscription: Ven Aoû 05, 2005 9:24

URL Rewriting complexe ?

Message le Mer Sep 05, 2007 13:33

Bonjour,

Après bon nombre d'heures de galère, je décide de faire appel à vos compétences et votre amabilité afin de mettre en place le rewriting de mon site.

Explications :

- Dans un premier temps, je souhaiterais rediriger de cette façon :

domain.com ou !(subdomain1|subdomain2|subdomain3).domain.com => www.domain.com

- Ensuite :

(www|subdomain1|subdomain2|subdomain3).domain.com => www.domain.com/index.php?subdomain=$1

- Puis :

(www|subdomain1|subdomain2|subdomain3).domain.com/(.*)/? => www.domain.com/index.php?subdomain=$1&page=$2

- Et ainsi de suite :

(www|subdomain1|subdomain2|subdomain3).domain.com/(.*)/(.*)/? => www.domain.com/index.php?subdomain=$1&page=$2&subpage=$3

J'espère que vous avez compris. Si tel n'est pas le cas, n'hésitez pas à me poser vos questions !

En vous remerciant par avance,

Sylvain.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3337
Inscription: Mar Nov 16, 2004 18:27

Message le Mer Sep 05, 2007 14:15

Voici le premier:

Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domaine\.com$ [NC]
RewriteRule ^$ /index.php?subdomain=%1 [QSA,L]


meme principe pour les autres
capture dans la condition et envoie la capture dans le rewrite:
subdomain=%1&page=%2

gueudz
Nouveau WRInaute
 
Messages: 31
Inscription: Ven Aoû 05, 2005 9:24

Message le Mer Sep 05, 2007 14:48

Bonjour KOogar,

En fait jme suis mal exprimé pour le premier :
j'aimerais que lorsque le visiteur tape dans la barre d'adresse http://domaine.com , il soit redirigé sur http://www.domaine.com de manière visible.

Pour se faire, j'utilise :

Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^domaine\.com/? [NC]
RewriteRule (.*) http://www\.domaine\.com/$1 [QSA,R=301,L]


Mais maintenant j'aimerais aussi que ça redirige de manière VISIBLE sur http://www.domaine.com si le visiteur entre un mauvais sous-domaine ( d'où le !(subdomain1|subdomain2|subdomain3) ).

Sinon, est il possible d'utiliser des variables dans le htaccess ? J'aimerais en fait éviter de réperter plusieurs fois subdomain1|subdomain2|subdomain3

Merci : )

gueudz
Nouveau WRInaute
 
Messages: 31
Inscription: Ven Aoû 05, 2005 9:24

Message le Mer Sep 05, 2007 15:35

J'ai fait ceci :

Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^domain\.com/? [NC,OR]
RewriteCond %{HTTP_HOST} !^(www|subdomain1|subdomain2)\.domain\.com/? [NC]
RewriteRule (.*) http://www\.domain\.com/ [QSA,R=301,L]

RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com/?
RewriteRule ^$ /index.php?subdomain=%1 [L]
RewriteRule ^(.*)(/)?$ /index.php?subdomain=%1&page=$1 [L]
RewriteRule ^(.*)/(.*)(/)?$ /index.php?subdomain=%1&page=$1&subpage=$2 [L]


Mais seul la première partie marche : /


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3337
Inscription: Mar Nov 16, 2004 18:27

Message le Mer Sep 05, 2007 16:43

>> Mais maintenant j'aimerais aussi que ça redirige de manière VISIBLE sur -http://www.domaine.com si le visiteur entre un mauvais sous-domaine ( d'où le !(subdomain1|subdomain2|subdomain3) ).


Code: Tout sélectionner
ErrorDocument 404 http://www.domaine.com/

gueudz
Nouveau WRInaute
 
Messages: 31
Inscription: Ven Aoû 05, 2005 9:24

Message le Jeu Sep 06, 2007 1:30

J'en suis arrivé là, mais j'ai encore 2 soucis :

Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^domain\.com/? [NC]
RewriteRule (.*) http://www\.domain\.com/index.html [QSA,R=301,L]

RewriteCond %{HTTP_HOST} ^(subdomain1|subdomain2|subdomain3)\.domain\.com/?$ [NC]
RewriteRule ^$ /index.php?subdomain=%1 [L]
RewriteRule ^([^.]+)/?$ /index.php?subdomain=%1&page=$1 [L]


- souci n°1 : lorsque que je vais sur l'adresse http://www.domain.com/nimportequoi je tombe sur le index.php

- souci n°2 : lorsque que je vais sur subdomain1.domain.com/mapage/ , $page= mapage/ ( pourquoi le / ? )

merci de m'éclairer


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3337
Inscription: Mar Nov 16, 2004 18:27

Message le Jeu Sep 06, 2007 11:25

hum pour le revirement...

Tu peux avoir plusieurs conditions pour 1 regle. Mais tu ne peux pas avoir plusieurs regles pour 1 condition.

Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^(subdomain1|subdomain2|subdomain3)\.domain\.com/?$ [NC]
RewriteRule ^$ /index.php?subdomain=%1 [L]

RewriteCond %{HTTP_HOST} ^(subdomain1|subdomain2|subdomain3)\.domain\.com/?$ [NC]
RewriteRule ^([^.]+)/?$ /index.php?subdomain=%1&page=$1 [L]



Le 2 c'est ta capture
donc prend tout sauf le /
__________________ ([^/]*)


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 :

  • Calcul du nombre de backlinks
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
  • Transformer des citations en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités