URL Rewriting et conditions

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

waouh
WRInaute discret
WRInaute discret
 
Messages: 167
Inscription: 18 Mai 2004

URL Rewriting et conditions

Message le Jeu Nov 17, 2005 10:51

je possede plusieurs domaines et je souhaite donner la possibilité a mes membres de creer leur propre album photo sur un le domaine qu'il choisiront.

par exemple, album1.domaine1.tld sera different de album1.domaine2.tld

et w*w.domaine2.tld et w*w.domaine3.tld doit renvoyer sur w*w.domaine1.tld

comme ca, tous les www renveront vers w*w.domaine1.tld et tous les sous domaines seront different.

Pour l'instant voici mon .htaccess :

Code: Tout sélectionner
RewriteEngine On
#si domaine1 ou domaine2 sans www
#je redirige vers w*w.domaine1.tld
RewriteCond %{HTTP_HOST} ^domaine1.tld$ [OR]
RewriteCond %{HTTP_HOST} ^domaine2.tld$ [OR]
RewriteRule ^(.*)   http://w*w.domaine1.tld/$1 [QSA,L,R=301]

#SI je suis sur le sous domaine www j'utilise ses regles
RewriteCond %{HTTP_HOST} w*w.domaine1.tld$
RewriteRule inscription.html index.php?page=site-inscription [QSA,L,R=301]

#sinon j'utilise celles pour les albums
RewriteCond %{HTTP_HOST} ^www.domaine1.tld$
RewriteRule album.html index.php?page=affiche_album [QSA,L,R=301]




Donc deja mon OR ne fonctionne pas

ensuite, comment dire que si je suis sur le sous domaine www ce sont tel regles d'url rewriting qui s'appliquent quelque soit le domaine et si, le sous domaine est different de www ce sont d'autres regles qui s'appliquent ?


correiaj
WRInaute passionné
WRInaute passionné
 
Messages: 1110
Inscription: 25 Avr 2005

Message le Jeu Nov 17, 2005 15:33

Normalement, tes sous domaines doivent renvoyer à des dossiers de ton serveurs.
Après c´est un .htaccess dans les dossiers concernés avec les règles concernées.

waouh
WRInaute discret
WRInaute discret
 
Messages: 167
Inscription: 18 Mai 2004

Message le Jeu Nov 17, 2005 17:11

actuellement, le sous domaine est le login du membre.

et apres, avec le login du membre, je fait correspondre un id qui me sert apres a aller chercher ses albums par exemple.

ChezThierry
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 273
Inscription: 21 Oct 2005

Re: URL Rewriting et conditions

Message le Jeu Nov 17, 2005 18:30

waouh a écrit:
Code: Tout sélectionner
RewriteEngine On
#si domaine1 ou domaine2 sans www
#je redirige vers w*w.domaine1.tld
RewriteCond %{HTTP_HOST} ^domaine1.tld$ [OR]
RewriteCond %{HTTP_HOST} ^domaine2.tld$ [OR] <-------- [b]PAS DE OR ICI[/b]
RewriteRule ^(.*)   http://w*w.domaine1.tld/$1 [QSA,L,R=301]

#SI je suis sur le sous domaine www j'utilise ses regles
RewriteCond %{HTTP_HOST} w*w.domaine1.tld$
RewriteRule inscription.html index.php?page=site-inscription [QSA,L,R=301]

#sinon j'utilise celles pour les albums
RewriteCond %{HTTP_HOST} ^w*w.domaine1.tld$
RewriteRule album.html index.php?page=affiche_album [QSA,L,R=301]


Donc deja mon OR ne fonctionne pas

ensuite, comment dire que si je suis sur le sous domaine www ce sont tel regles d'url rewriting qui s'appliquent quelque soit le domaine et si, le sous domaine est different de www ce sont d'autres regles qui s'appliquent ?


Le OR qui ne fonctionne pas, c'est normal, ton rewriterule fait partie de la liste des conditions OR, OR... faut virer le second [OR], au passage, mieux vaut prendre l'habitude de quoter le signe . avec un backslash et faire le test en NoCase pour que ça fonctionne aussi si quelqu'un entre un domaine avec des majuscules, ça donne donc ça :
Code: Tout sélectionner
#si domaine1 ou domaine2 sans www
#je redirige vers w*w.domaine1.tld
RewriteCond %{HTTP_HOST} ^domaine1\.tld$ [NC,OR]
RewriteCond %{HTTP_HOST} ^domaine2\.tld$ [NC]
RewriteRule ^(.*)   http://w*w.domaine1.tld/$1 [QSA,L,R=301]

#SI je suis sur le sous domaine www j'utilise ses regles
RewriteCond %{HTTP_HOST} ^w*w\.domaine1\.tld$ [NC]
RewriteRule inscription.html index.php?page=site-inscription [QSA,L,R=301]


Pour le reste, j'ai pas bien compris ce que tu voulais faire avec tes noms de domaine et tes albums, si tu files quelques exemples, je verrais pour répondre à cette partie-là.

waouh
WRInaute discret
WRInaute discret
 
Messages: 167
Inscription: 18 Mai 2004

Message le Jeu Nov 17, 2005 19:45

voila, je viens de tester

Code: Tout sélectionner
#si domaine1 ou domaine2 sans www
#je redirige vers www.domaine1.tld
#RewriteCond %{HTTP_HOST} ^domaine1\.org$ [NC,OR]
#RewriteCond %{HTTP_HOST} ^domaine2\.com$ [NC]
#RewriteRule ^(.*)   http://w*w.domaine1.tld/$1 [QSA,L,R=301]


#SI je suis sur le sous domaine www j'utilise ses regles
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.domaine1\.tld$ [NC]
RewriteRule inscription.html index.php?page=site-inscription


Ca, ca fonctionne mais il faut que je supprime [QSA,L,R=301] sur la derniere ligne.

Maintenant, j'aimerais que si le sous domaine est www quelque soit le nom de domaine, j'utilise un groupe de regles ce qui semble fonctionner pour :
Code: Tout sélectionner
#SI je suis sur le sous domaine www j'utilise ses regles
RewriteEngine On
RewriteCond %{HTTP_HOST} ^w*w\.domaine1\.tld$ [NC]
RewriteRule inscription.html index.php?page=site-inscription

la regle RewriteRule inscription.html index.php?page=site-inscription ne fonctionne que si l'url est w*w.domaine1.tld

maintenant, je voudrais utiliser d'autres regles quand l'url n'est pas www.domaine1.tld

ChezThierry
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 273
Inscription: 21 Oct 2005

Message le Jeu Nov 17, 2005 20:44

waouh a écrit:maintenant, je voudrais utiliser d'autres regles quand l'url n'est pas www.domaine1.tld


Tu peux faire un
RewriteCond %{HTTP_HOST} !^w*w\.domaine1\.tld$ [NC]

puis placer ta règle après.



quant au [QSA,L,R=301]
Je ne vois pas pourquoi ça marche sans et pas avec... Tu veux pas essayer avec juste [QSA], juste [L] et juste [R=301] voir lequel fait que ça ne fonctionne pas ?

waouh
WRInaute discret
WRInaute discret
 
Messages: 167
Inscription: 18 Mai 2004

Message le Jeu Nov 17, 2005 21:24

ahh ca à l'air de bien fonctionner :d

et visiblement c'est à cause de la redirection 301 que ca deconne.

Ca me rajoute le chemin /home/web/...... dans l'url en fait

waouh
WRInaute discret
WRInaute discret
 
Messages: 167
Inscription: 18 Mai 2004

Message le Ven Nov 18, 2005 14:02

une petite question en plus.

Si je veux que :

Code: Tout sélectionner
http://domaine1.tld/images/domaine1/sous-domaine/image1.jpg


donne

Code: Tout sélectionner
http://sous-domaine.domaine1.tld/image1.jpg


et que :

Code: Tout sélectionner
http://domaine2.tld/images/domaine2/sous-domaine/image1.jpg


donne

Code: Tout sélectionner
http://sous-domaine.domaine2.tld/image1.jpg


comment je peux faire ?

ChezThierry
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 273
Inscription: 21 Oct 2005

Message le Ven Nov 18, 2005 15:09

Tu peux faire :
Code: Tout sélectionner

RewriteCond %{HTTP_HOST} ^(domaine\d)\.tld$
RewriteRule ^images/domaine\d/([^/]+)/([^/]+)$ http://$1.%1.tld/$2 [R=302]

waouh
WRInaute discret
WRInaute discret
 
Messages: 167
Inscription: 18 Mai 2004

Message le Ven Nov 18, 2005 18:10

vraiment merci pour ton aide car je serais incapable de faire ca.

je viens de tester ca:

http://test.exemple.com/image.jpg

qui est accessible par http://exemple.com/images/exemple/test/image.jpg

mais ca ne fonctionne pas dailleur, d'apres ce que je comprend dans ta regle, je dois specifier l'extention du domaine :

Code: Tout sélectionner
RewriteRule ^images/domaine\d/([^/]+)/([^/]+)$ http://$1.%1.tld/$2 [R=302]


seulement les domaines peuvent etres totalement different l'un exemple.com et l'autre bidule.org

ChezThierry
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 273
Inscription: 21 Oct 2005

Message le Ven Nov 18, 2005 18:59

Ah ok, pardon, j'ai cru comprendre que domainex c'était le vrai nom et que le .com serait toujours présent (.tld dans l'exemple qu'on a pris)

Essaye plutot ça alors :
Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^([^\.]+\..+)$
RewriteRule ^images/[^/]+/([^/]+)/([^/]+)$ http://$1.%1/$2 [R=302]


ça remplacera h*tp://machin.com/images/machin/test/image.jpg
par
h*tp://test.machin.com/image.jpg

par contre, ça ne fera rien si le domaine de l'url a déjà 3 composants (toto.tata.com)

(mais ça aura le même résultat pour pour
h*tp://machin.com/images/machin/test/image.jpg
h*tp://machin.com/images/toto/test/image.jpg
et h*tp://machin.com/images/pwetpwetlamouche/test/image.jpg
)
c'est pour ça que je suis pas sur de comprendre... N'hésite pas à expliquer un peu mieux le principe du nom du répertoire placé juste après /images/


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 :

Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl

  • Liste des 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 textes non cliquables 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