URL Rewriting et conditions

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

waouh
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 165
Inscription: Mar Mai 18, 2004 16:10

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 accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

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 occasionnel
WRInaute occasionnel
 
Messages: 165
Inscription: Mar Mai 18, 2004 16:10

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 impliqué
WRInaute impliqué
 
Messages: 273
Inscription: Ven Oct 21, 2005 13:33

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 occasionnel
WRInaute occasionnel
 
Messages: 165
Inscription: Mar Mai 18, 2004 16:10

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 impliqué
WRInaute impliqué
 
Messages: 273
Inscription: Ven Oct 21, 2005 13:33

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 occasionnel
WRInaute occasionnel
 
Messages: 165
Inscription: Mar Mai 18, 2004 16:10

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 occasionnel
WRInaute occasionnel
 
Messages: 165
Inscription: Mar Mai 18, 2004 16:10

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 impliqué
WRInaute impliqué
 
Messages: 273
Inscription: Ven Oct 21, 2005 13:33

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 occasionnel
WRInaute occasionnel
 
Messages: 165
Inscription: Mar Mai 18, 2004 16:10

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 impliqué
WRInaute impliqué
 
Messages: 273
Inscription: Ven Oct 21, 2005 13:33

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/


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 :



Qui est en ligne

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