Comment puis-je faire respecter que mes URL commencent toujours par www?

Je veux veiller à ce que les users viennent à www.mydomain.com même s'ils arrivent par l'alias mydomain.com . C'est ainsi que j'ai le contrôle des cookies sur les sous-domaines, et que Google voit un seul domaine et non un hodge-podge d'URL.

Comment puis-je faire cela avec Apache?

5 Solutions collect form web for “Comment puis-je faire respecter que mes URL commencent toujours par www?”

 <VirtualHost ip:80> ServerName domain.com RedirectMatch permanent ^(.*)$ http://www.domain.com$1 </VirtualHost> <VirtualHost ip:80> ServerName www.domain.com ... usual config </VirtualHost> 

Ajoutez ceci à votre file httpd.conf :

 Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www\.mydomain\.com$ [NC] RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L] 

Activez le support mod_rewrite, puis créez un file .htaccess dans le dossier racine pour votre domaine avec le contenu suivant:

 <IfModule mod_rewrite.c> Options +FollowSymLinks Options +Indexes RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^domain\.com$ RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L] </IfModule> 

Si vous souhaitez que Google utilise un style de domaine spécifique (avec ou sans www ), créez un count gratuit Google devises pour les webmasters , vérifiez la propriété de votre domaine (téléchargez un file) et définissez votre domaine préféré à l'aide du panneau de contrôle en ligne.

C'est simple, et vous n'avez pas besoin de changer de code côté server, les liens entrants avec ou sans www seront traités de la même manière que le PageRank de vos pages.

Les liens peuvent indiquer votre site à l'aide des versions www et non-www de l'URL (par exemple, http://www.example.com et http://example.com ). Le domaine préféré est la version que vous souhaitez utiliser pour votre site dans les résultats de search.

Une fois que vous nous indiquez votre nom de domaine préféré, nous tiendrons count de vos preferences lors de l'affichage des URL. Il faudra peut-être du time avant que vous voyiez ce changement entièrement reflété dans notre index.

Si vous ne spécifiez pas un domaine préféré, nous pouvons traiter les versions www et non-www du domaine en tant que references séparées vers des pages distinctes.

J'ai eu le problème inverse, les gens qui vont à http://www.domain.com quand je veux simplement servir directement depuis domain.com:

 <VirtualHost *:80> ServerName domain.com ... usual config </VirtualHost> <VirtualHost *:80> ServerName www.domain.com ServerAlias sub.domain.com # can also catch some other subdomains ServerAlias *.domain.com # or all previously unmatched domains Redirect permanent / http://domain.com/ </VirtualHost> 

Comme Greg Hewgill l'a mentionné, utiliser Redirect est un peu plus simple que RedirectMatch et fait le même travail, voir http://httpd.apache.org/docs/2.0/mod/mod_alias.html#redirect pour plus de détails.

Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de réseau.