Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Retourner aux forums || Retourner au forum Programmation.web

Programmation.web : Supprimer le www. avec htaccess

Posté par ploum (page perso, ) le 30 août 2006
Bonjour,

J'aimerais, au moyen de htaccess, supprimer le "www" de chacune des requêtes qui arrive sur un de mes sites.

La raison est simple : en fonction de l'adresse utilisée, je redirige le répertoire "public" vers "public/%{HTTP_HOST}"

Or, avec cette technique, www.machin.com et machin.com auront deux répertoires publics différents, ce que je ne souhaite pas.

Il me semble que le plus simple est donc de faire un redirect permanent de

www.* vers * dans le htaccess

Seulement, je n'ai aucune idée de la façon de le faire. Qqn a une idée ? Merci d'avance.

> Lire le message (6 commentaires, moyenne: 1,8).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

subtilité

Posté par ploum (page perso, ) le 30/08/2006 à 09:07. (lien). Évalué à 2.

J'ai oublié de préciser que cela devait fonctionner pour les sous-domaines. Ainsi, www.truc.machin.com doit renvoyer vers truc.machin.com

Je suis obligé de mettre cela en oeuvre car je n'avais pas pensé que la plupart des visiteurs vont manuellement rajouter un www. à chaque adresse qu'on leur donne, même si on écrit "http://truc.machin.com", les gens vont exprès aller rajouter "www".

rewriting

Posté par Lol Zimmerli (Jabber id, page perso, ) le 30/08/2006 à 09:40. (lien). Évalué à 2.

Avec un truc du genre, par exemple:

RewriteEngine on
RewriteCond %{HTTP_HOST} www\.(.*)\.(com)$
RewriteRule (.*) http://%1$1.%2$2/ [L]

(pas testé)

--
En fait, Bernardo n'était pas muet; c'est Zorro qui était sourd.
  • [^]Re: rewriting

    Posté par ploum (page perso, ) le 30/08/2006 à 09:46. (lien). Évalué à 2.

    je comprend pas bien le %1$1.%2%2 en fait

  • [^]Re: rewriting

    Posté par ploum (page perso, ) le 30/08/2006 à 09:48. (lien). Évalué à 2.

    nickel, avec ton truc, j'ai réussi à le faire fonctionner :

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

    • [^]Re: rewriting

      Posté par ploum (page perso, ) le 30/08/2006 à 09:56. (lien). Évalué à 2.

      (je me corrige, il faut un "/" entre %1 et $1)

fichier de configuration apache...

Posté par NeoX () le 30/08/2006 à 21:05. (lien). Évalué à 1.

mais ce ne serait pas à apache de faire ca, via le fichier de configuration du site

genre

< VirtualHost * >
ServerAdmin webmaster@website.com

ServerName www.website.com
ServerAlias website.com
DocumentRoot /public/website
<Directory /public/website>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all


< /VirtualHost >


sauf evidemment si tu n'as pas acces à la configuration apache, et à ce moment là il faudra passer par le .htaccess

--
Apprendre par les autres, c'est bien.
Apprendre par soi-meme (RTFM, man, et notre ami google) c'est mieux

Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.web