Rechercher : dans
Par :

Redirection 301 avec .htaccess

Dernière réponse le 26 oct 2008 à 21:06:25 crosslink06, le 19 sep 2008 à 10:05:13 
 Signaler ce message aux modérateurs

Bonjour à tous,

Je souhaite faire une redirection 301 (permanente) via le .htaccess de tous les sous-domaines de mon site vers les répertoires correspondants:

Par exemple :
paris.monsite.com vers http://monsite.com/paris/
marseille.monsite.com vers http://monsite.com/marseille/
...

RewriteCond %{HTTP_HOST} ^\.([a-z\-]+)\.mondomaine.com [NC]
RewriteRule .* http://www.mondomaine.com/%1 [R]
ne marche pas...

Pouvez-vous m'aider SVP.

Merci
Tony

Configuration: Windows Vista
Firefox 3.0

Meilleures réponses pour « Redirection 301 avec .htaccess » dans :
[Webmaster] Faire une redirection VoirLes différentes solutions sont présentées de la meilleure (.htaccess) à la moins bonne (JavaScript). Un .htaccess Le .htaccess est à placer dans le répertoire qui doit être redirigé. On applique une redirection de cette façon : RedirectPermanent...
Apache - Les fichiers .htaccess VoirLes fichiers .htaccess sont des fichiers de configuration d'Apache, permettant de définir des règles dans un répertoire et dans tous ses sous-répertoires (qui n'ont pas de tel fichier à l'intérieur). On peut les utiliser pour protéger un répertoire...

1

crosslink06, le 23 sep 2008 à 16:22:24

Personne ne peut m'aider ?

Répondre à crosslink06

2

crosslink06@gmail.com, le 30 sep 2008 à 11:58:21

Toujours personne ? SVP

Répondre à crosslink06@gmail.com

3

 thierry, le 26 oct 2008 à 21:06:25

Bon, pour faire rapide :

Imaginons que tes domaines soient dans :
/home/www/<domaine>/
tu aurras donc tes subs domaines dans :
/home/www/<domaine>/<sub-domaine>/

Avec le code suivant tes url pourrons être dans 2 formats et le deux formats seront fonctionnels en même temps
http://subdomaine.domaine.com et http://www.domaine.com/subdomaine/

En pratique dans ton serveur tu auras :
/home/www/<domaine>/www/ qui serra égale à : http://www.domaine.com/
/home/www/<domaine>/toto/ qui serra égale à : http://www.domaine.com/toto/ et http://toto.domaine.com
etc.....

Ajoute la partie suivante dans ton apache ou la partie Rewrite**** dans un .htaccess
-----------------------------------------------------------------------------------------------------------------------------------------------
NameVirtualHost <IP>:80
<VirtualHost <IP>:80>
*********
*********
RewriteEngine on

RewriteMap lowercase int:tolower
RewriteRule ^(.*) %{HTTP_HOST}$1

RewriteCond /home/www/$1/${lowercase:$2} -d
RewriteRule ^www\.([^./]+)\.[^/.]+/([^/]+)(.*)$ /home/www/$1/${lowercase:$2}$3 [L]

RewriteCond /home/www/$1/${lowercase:$2} -d
RewriteRule ^([^/]+)\.[^/.]+/([^/]+)(.*)$ /home/www/$1/${lowercase:$2}$3 [L]

RewriteRule ^([^/]+)\.([^/.]+)\.[^/]+(.*)$ /home/www/$2/$1$3 [L]
RewriteRule ^([^./]+)\.[^/.]+(.*)$ /home/www/$1/www$2 [L]
</VirtualHost>
-----------------------------------------------------------------------------------------------------------------------------------------------

Et si en plus de tout cela tu paramètres correctement ton DNS tu peux ne plus avoir à modifier ton DNS pour l'ajout de subdomaine à un domaine.

Aller au diable la varice, voila la solution pour le DNS :
Imaginons que le domaine c'est "tata.com" et l'IP du serveur ou ce trouve ce site et les sous site est "212.212.212.212". Et que le serveur d'email pour ce domaine est sur un autre serveur


tata.com. A 212.212.212.212
mail.tata.com. A 212.212.212.100
* CNAME tata.com.
tata.com. MX 10 mail.tata.com.

Et selon les serveurs DNS il faut remplacer le * par un @

Si vous n’avez pas la possibilité chez votre registar d'utiliser le * ou le @ il faut leur demander de rajouter cette ligne " * CNAME tata.com. " manuellement. ils ne refusent pas en générale.


les . ne sont pas là pour faire beau :) il ne faut pas les oubliés

Répondre à thierry
Collection CommentÇaMarche.net