[Résolu] Sous domaines dynamiques

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

bistory
WRInaute discret
WRInaute discret
 
Messages: 96
Inscription: Sam Juin 17, 2006 19:11

[Résolu] Sous domaines dynamiques

Message le Ven Déc 15, 2006 14:09

Bonjour,
J'ai un petit problème sur mon hébergement :
Je suis sur un dédié mais je n'ai pas accès à la config (gérée par une autre personne) j'ai réussi tant bien que mal à contacter cette personne qui a créé une redirection du type *.example.com vers www.example.com
Ce n'est malheureusement pas ce que je voulais mais vu le délai qu'il me faut pour la contacter, je m'en remet à vous :
Comment puis-je faire une redirection du type :
*.example.com* vers www.example.com/un_doc/index.php?id=$1&page=$2
Tout ça via mon htaccess qui sait accéder aux sous-domaines (j'ai testé :
RewriteCond %{HTTP_HOST} !^www.example.com
RewriteRule ^(.*).example.com http://www.example.com/$1 [L,R=301]

sans succès)

Merci beaucoup !
Dernière édition par bistory le Dim Jan 21, 2007 14:50, édité 2 fois.


dorian53
WRInaute accro
WRInaute accro
 
Messages: 1898
Inscription: Dim Avr 10, 2005 16:56

Message le Ven Déc 15, 2006 15:02

Salut,

Je te réponds vite fait donc à prendre au conditionnel

Tu ne peux pas appliquer d'expression régulière sur l'host dans un RewriteRule.

Il faut que tu captures ton sous domaine avec des parenthèses dans un RewriteCond et l'utiliser dans ton RewriteRule avec %1 et pas $1.

bistory
WRInaute discret
WRInaute discret
 
Messages: 96
Inscription: Sam Juin 17, 2006 19:11

Message le Ven Déc 15, 2006 15:23

Avec ce que tu m'as dit, j'ai recherché sur le net et j'ai trouvé ceci comme solution :
RewriteCond %{HTTP_HOST} ^([^.]*)\.?([^.]+)\.([^.]+)$ [NC]
RewriteCond %1 !^www$ [NC]
RewriteRule ^(.*)$ /online/index.php?id=%1&page=$1 [L]

Mais ça ne marche pas, j'ai un problème de récursion (donc une boucle infinie je suppose)
Merci pour ton aide ;)


dorian53
WRInaute accro
WRInaute accro
 
Messages: 1898
Inscription: Dim Avr 10, 2005 16:56

Message le Ven Déc 15, 2006 16:12

Essaie comme ça

Code: Tout sélectionner
RewriteCond %{HTTP_HOST} !^www.example.com [NC]
RewriteCond %{HTTP_HOST} ^(.*)\.example\.com [NC]
RewriteRule * http://www.example.com/%1 [R=301]

bistory
WRInaute discret
WRInaute discret
 
Messages: 96
Inscription: Sam Juin 17, 2006 19:11

Message le Ven Déc 15, 2006 17:06

Hélas...
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


Et dans les logs :
[Fri Dec 15 16:23:38 2006] [alert] [client 81.246.248.127] /.../.htaccess: RewriteRule: cannot compile regular expression '*'
[/code]

EDIT : Voila avec :
RewriteCond %{HTTP_HOST} !^www.example.com [NC]
RewriteCond %{HTTP_HOST} ^(.*)\.example\.com [NC]
RewriteRule (.*) http://www.example.com/online/index.php?id=%1 [R]

Ca fonctionne !!

Une dernière question : Puis-je faire une redirection invisible ? Donc je ne voudrais pas qu'on voie l'url absolue mais rester sous l'url avec le sous-domaine etc... ?

EDIT2:
Hop trouvé aussi : remplacer [R] par [P,L] et voilaaa merci en tout cas ;)


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