2010-03-01 6 views
0

J'ai deux sites Web qui sont identiques à ceux où example.com partage tous les fichiers de examples.com. Ainsi, quels que soient les changements effectués dans exampples.com, example.com est automatiquement mis à jour. Cela signifie qu'ils ont le même fichier .htaccess. Le problème est, je veux les deux sites redirige vers non www à un www url. Je suis arrivé ceci:Redirection .htaccess - deux sites Web de partage

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^example\.com$ [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] 

Répondre

2
RewriteCond %{HTTP_HOST} ^[^\.]+\.com$ [NC] 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 
0

remplacer example.com avec %{HTTP_HOST} pour que vos règles accueillent indépendante

+0

Même dans la ligne 'RewriteCond'? –

+0

non, vous avez juste dans la règle de réécriture – Mathieu

1

Cela devrait le faire:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^example\.com$ [NC,OR] 
RewriteCond %{HTTP_HOST} ^examples\.com$ [NC] 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

Fondamentalement, vous ajoutez une condition OU dire si example.com ou examples.com ne commence pas par www. puis ajoutez-le au nom de domaine respectif.

+0

+ 1 celui-ci fonctionne, mais j'aime la réponse d'Ignacio. –

+0

cool. Au cas où vous ajouteriez plus de domaines que vous ne voulez pas inclure dans la règle, vous devrez utiliser une règle comme celle-ci qui indique explicitement tous les domaines à réécrire. – Dolbz

+0

Juste réalisé. Deux RewriteCond ne sont pas requis. vous pourriez avoir: RewriteCond% {HTTP_HOST}^exemples? \. com $ [NC] – Dolbz