2009-11-12 7 views
0

Quelles sont les différences entre? Ignorer les noms de domaineEst-ce que ces deux réécrit la même chose?

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


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

La différence est "^"?

Ce que je veux essentiellement faire est d'avoir mon site comme http://yourdomain.com et ne jamais avoir le www apparaître. Pour commencer, c'est plus court et c'est bon pour le référencement car mon site ne sera pas jugé comme deux sites. Un avec www et un sans.

Merci à tous

Répondre

1

Non, ils ne sont pas les mêmes. Le premier indique rediriger vers l'hôte example.com si l'hôte est www.example.com.
La seconde dit, rediriger vers www.example.com si l'hôte n'est pas www.example.com.

Et même si vous réécrire la deuxième les suivantes (ayant les deux règles allez être redirigé vers example.com.

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

Alors qu'il redirigerez à example.com si l'hôte n'est pas example.com Le résultat pourrait être le même si l'hôte ne peut être www.example.com et example.com. Mais si elle peut avoir plus de valeurs que celle (par exemple foobar.example.com), la première règle de votre ne rediriger alors que mon redirigerez.

Questions connexes