Un site avec les www obligatoirement ?
Si comme moi vous êtes maniaques, ou que vous vous souciez un peu du référencement (il parait que ça "améliore") cette mini-astuce vous fera gagner du temps :
Dans un .htaccess à la racine de votre site :
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domaine.com$
RewriteRule ^(.*) http://www.domaine.com/$1 [QSA,R=301,L]
Bon normalement si vous êtes développeur vous avez compris comment ça fonctionne. Je vois que vous trépigniez et commencez déjà à me traiter de tous les noms alors je vous explique ce qu'il y a entre crochets :
- QSA : "Query String Append", c'est pour coller le reste de l'adresse...
- R=301 : Le type de redirection. 301 = Permanente (crois-je).
- L : "Last", indique qu'il s'agit de la dernière règle pour le rewriting.
Voilu ! (comment perdre son temps et vous faire perdre le votre...)
Commentaires
Pour gérer le multidomaine ou le WWW sur un site bien codé, faire une condition sur le SERVER_NAME et rediriger :
if($_SERVER['SERVER_NAME']!='' && $_SERVER['SERVER_NAME']!='www.domaine.fr')
die(header('Location: http://www.domaine.fr'.$_SERVER['REQUEST_URI']));
@Palleas : %{HTTP_HOST} est une variable d'Apache, donc "%" est l'équivalent de "$" en PHP .
Le "!" est le symbole de la négation, quand même !
@Julien Pellegrain : Si Apache peut le faire directement pourquoi s'en priver ? Mais ta solution me semble correcte également.
Putain tu m'as encore fait perdre du temps à apprendre quelque chose ^^
Merci pour le billet fort intéressant
Ah ouais pour le "!" j'suis con, merci pour le % ^^'
Salut
>il parait que ça "améliore"
Les pages www.example.com/infos.php
et example.com/infos.php
sont distinguées comme deux pages différentes par Google.
M'sieur n'aime pas trop le contenu redondant...
C'est bien à ça que je pensais :]
Laissez le vôtre !
Les commentaires pour ce billet sont fermés.
> (comment perdre son temps et vous faire perdre le votre...)
J'aime bien l'autorabaissement
Par contre pour en revenir à ton truc, je ne pige juste pas (non, ca ne veut rien dire, cherchez pas) :
RewriteCond %{HTTP_HOST} !^www.domaine.com$
A quoi correspondent le "%" du début et le "!" qui suit ? (Sortit de l'url rewriting de base, j'suis pas trop évolué)