Problème url rewriting et sous-domaine

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

bv35
Nouveau WRInaute
 
Messages: 9
Inscription: Jeu Mar 16, 2006 12:28

Problème url rewriting et sous-domaine

Message le Jeu Mar 16, 2006 12:37

Bonjour,

J'ai un souci de réécriture... Je ne vois pas du tout comment je peux faire ça :

Code: Tout sélectionner
http://fr.example.com vers http://www.example.com/accueil.php?langue=fr
et aussi :
http://fr.example.com/cadeau/ vers http://www.example.com/categorie.php?langue=fr&section=cadeau
mais encore :
http://fr.example.com/cadeau/tous/ vers http://www.example.com/categorie.php?langue=fr&section=cadeau&categorie=tous


D'un côté je mets le code langue au tout début sous la forme d'un sous-domaine (je la récupère dans le script) puis chaque répertoire correspond aussi à une variable PHP.

Je désespère d'y arriver...

Si quelqu'un a une piste, je le remercie par avance.


Borower
WRInaute accro
WRInaute accro
 
Messages: 2151
Inscription: Lun Avr 18, 2005 20:58

Message le Jeu Mar 16, 2006 20:04

Il me semble que cela ce face au niveau du ton hebergement.
Ce n'est pas avec de l'Htaccess que tu pourra faire cela.

Peut etre je me trompe.
Corrigé moi si je dis n'importe quoi.

bv35
Nouveau WRInaute
 
Messages: 9
Inscription: Jeu Mar 16, 2006 12:28

Message le Jeu Mar 16, 2006 20:09

Je peux sans problème configurer un sous-domaine et le faire pointer vers un répertoire ou la racine du site mais j'aimerais récupérer la valeur du sous-domaine en tant que variable.

dcz
WRInaute passionné
WRInaute passionné
 
Messages: 722
Inscription: Mer Mar 02, 2005 2:04

Message le Dim Mar 19, 2006 21:07

C'est compliqué ton truc, pourquoi ne pas simplement appeler des scripts se trouvant dans le dossier de ton sous domaine, vu que de toutes façon tu te retrouvera avec des chemins differents pour tes includes, images etc, il vaut mieux avoir deux versions assez similaire des script cible même s'il finit sur la même db et dans le même dossier includes, enfin, ça me parait moins compliqué que de le rendre multipath et multi domaine (en même temsp cela dépends de l'archtechture de ton script, des fois c simple).

Enfin, en tous cas cela marcherais comme je te le suggère.

++

Jean-Piroux
Nouveau WRInaute
 
Messages: 4
Inscription: Dim Mar 19, 2006 23:27

Message le Lun Mar 20, 2006 0:41

Pour faire ton truc je dirai qu il faut d abord que les sous domaine existent (par contre tu n as pas besoin de les faire pointer nulle part apres on s en occupe plus).
Ensuite tu fais une regle
RewriteCond %{HTTP_HOST} ^(.*)\.exemple\.com$
grace au () tu vas recuperer le sous domaine que l'on poura utiliser avec %1
et ensuite tu fais une regle qui utilise donc %1 du genre
RewriteRule TAREGEXP http://www.exemple.com/%1/page.php?id=$1

(ou $1 viendrais de TAREGEXP)

Voila je sais pas si j ai ete bien clair en tout cas c'est sur que ca marche c'est ce que j'ai fait pour www.packtravaux.com (tu peux voir ca sur la page http://www.packtravaux.com/devis.php) ou toutes les categories correspondent a un sous domaine.

--
Jean-Piroux

bv35
Nouveau WRInaute
 
Messages: 9
Inscription: Jeu Mar 16, 2006 12:28

Message le Mar Mar 21, 2006 21:41

Jean-Piroux a écrit:Pour faire ton truc je dirai qu il faut d abord que les sous domaine existent (par contre tu n as pas besoin de les faire pointer nulle part apres on s en occupe plus).
Ensuite tu fais une regle
RewriteCond %{HTTP_HOST} ^(.*)\.exemple\.com$
grace au () tu vas recuperer le sous domaine que l'on poura utiliser avec %1
et ensuite tu fais une regle qui utilise donc %1 du genre
RewriteRule TAREGEXP http://www.exemple.com/%1/page.php?id=$1

(ou $1 viendrais de TAREGEXP)

Voila je sais pas si j ai ete bien clair en tout cas c'est sur que ca marche c'est ce que j'ai fait pour www.packtravaux.com (tu peux voir ca sur la page http://www.packtravaux.com/devis.php) ou toutes les categories correspondent a un sous domaine.

--
Jean-Piroux

Merci pour vos réponses... J'ai testé sans trop forcer mais ça ne marche pas chez moi. Quelle version d'apache utilises-tu ?
Je poursuis sur cette voie, je sens que ça peut marcher de cette façon.
Je n'avais encore jamais vu TAREGEXP. Quel est sa signification ?

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Mer Mar 22, 2006 11:37

Ca pourrait ressembler à ca, aux variations près en fonction de la configuration, des erreurs de frappe et du manque de café
Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^(fr|en)\.example\.com$
RewriteRule ^/([^/]+)/([^/]+)/$ /categorie.php?langue=%1&section=$1&categorie=$2 [L]

RewriteCond %{HTTP_HOST} ^(fr|en)\.example\.com$
RewriteRule ^/([^/]+)/$ /categorie.php?langue=%1&section=$1 [L]

RewriteCond %{HTTP_HOST} ^(fr|en)\.example\.com$
RewriteRule ^/$ /accueil.php?langue=%1 [L]

bv35
Nouveau WRInaute
 
Messages: 9
Inscription: Jeu Mar 16, 2006 12:28

Message le Mer Mar 22, 2006 12:06

nikoshr a écrit:Ca pourrait ressembler à ca, aux variations près en fonction de la configuration, des erreurs de frappe et du manque de café
Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^(fr|en)\.example\.com$
RewriteRule ^/([^/]+)/([^/]+)/$ /categorie.php?langue=%1&section=$1&categorie=$2 [L]

RewriteCond %{HTTP_HOST} ^(fr|en)\.example\.com$
RewriteRule ^/([^/]+)/$ /categorie.php?langue=%1&section=$1 [L]

RewriteCond %{HTTP_HOST} ^(fr|en)\.example\.com$
RewriteRule ^/$ /accueil.php?langue=%1 [L]

Merci !
Le code me parle plus de cette façon mais je ne comprends pas pourquoi ça ne fonctionne toujours pas chez moi.

Si je prends la réécriture la plus simple :
Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^(fr|en)\.example\.com$
RewriteRule ^/$ /accueil.php?langue=%1 [L]

le sous-domaine : fr.example.com existe bien et pointe vers la racine du site. Avec cette règle, rien ne se passe, je continue d'être dirigé vers la racine du site (/index.php) au lieu de accueil.php?langue=fr. Vraiment bizarre...

Vous avez une idée ?

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Mer Mar 22, 2006 13:24

Juste pour voir si la réécriture se fait et ce que le serveur passe comme host, essaie ca tout seul
Code: Tout sélectionner
RewriteRule ^/$ /accueil.php?langue=fr&srv=%{HTTP_HOST} [L]

en faisant afficher la variable srv.

bv35
Nouveau WRInaute
 
Messages: 9
Inscription: Jeu Mar 16, 2006 12:28

Message le Mer Mar 22, 2006 13:33

Là, ça continue d'afficher la racine du site /index.php, ce qui montre que la réécriture ne se fait pas. D'où ça peut venir ?

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Mer Mar 22, 2006 13:59

Soit l'expression régulière ne correspond pas au traitement, soit mod_rewrite n'est pas activé. Essaie
Code: Tout sélectionner
RewriteRule ^$ /accueil.php?langue=fr&srv=%{HTTP_HOST} [L]
RewriteRule ^index.php$ /accueil.php?langue=fr&srv=%{HTTP_HOST} [L]
RewriteRule ^/index.php$ /accueil.php?langue=fr&srv=%{HTTP_HOST} [L]

Normalement, l'une des trois devrait donner un résultat. Eventuellement sans / devant accueil

bv35
Nouveau WRInaute
 
Messages: 9
Inscription: Jeu Mar 16, 2006 12:28

Message le Mer Mar 22, 2006 18:03

Là, c'est bon, avec la 1ère expresison, la variable srv renvoie le nom de domaine de cette manière :
Code: Tout sélectionner
fr.example.com

bv35
Nouveau WRInaute
 
Messages: 9
Inscription: Jeu Mar 16, 2006 12:28

Message le Mer Mar 22, 2006 18:12

Rahh excellent, ça marche à présent. En fait, il y avait un slash de trop qui traînait. Avec ça, c'est ok :
Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^(fr|en)\.example\.com$
RewriteRule ^$ /accueil.php?langue=%1 [L]


Merci pour ton aide nikoshr ainsi qu'aux autres. Trop content là car j'ai passé un temps fou sur ça sans pouvoir débloquer !

Je poursuis mes tests... :D

Jean-Piroux
Nouveau WRInaute
 
Messages: 4
Inscription: Dim Mar 19, 2006 23:27

Message le Mer Mar 22, 2006 19:42

bv35 a écrit:Je n'avais encore jamais vu TAREGEXP. Quel est sa signification ?


lol! en fait c'est pour dire "ta reg exp" enfin l'expression reguliere que tu desire faire.
Dsl si ca t as embrouille.. :)

bv35
Nouveau WRInaute
 
Messages: 9
Inscription: Jeu Mar 16, 2006 12:28

Message le Mer Mar 22, 2006 21:16

Jean-Piroux a écrit:
bv35 a écrit:Je n'avais encore jamais vu TAREGEXP. Quel est sa signification ?


lol! en fait c'est pour dire "ta reg exp" enfin l'expression reguliere que tu desire faire.
Dsl si ca t as embrouille.. :)

:lol:
p'tit coup de fatigue là :lol:


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 Apps for your Domain, Google Apps Edition Premium



Qui est en ligne

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