Décodage de htaccess (chopper sur le net)

WRInaute accro
Bonjour à tous.
Je viens de lire cet article : http://www.leuromag.com/Un-fichier-htaccess-pour-ameliorer-votre-refer ... a2692.html
et dans le htaccess proposé une ligne me questionne ->
Code:
RewriteCond %{HTTP_HOST} ^([a-z.]+)?mondomaine.com$ [NC]
RewriteCond %{HTTP_HOST} !^www. [NC] 
RewriteRule .? http://www.mondomaine.com%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^([a-z.]+)?mondomaine.com$ [NC]
Il s'agit de gérer les sous domaines ? la seconde ligne ok c'est si y'a pas le sous domaine www. on redirige vers le www, mais la première c'est quoi précisément ?
Je vois qu'il regarde si il y a une chaine alpha avant le domaine, si quelqu'un peut me décrypter ça, merci d'avance.
PS: oui je suis une bille en rewriting :|
 
WRInaute passionné
Il est possible qu'il épargne des redirections avec des chiffres comme sous-domaine, style 123.example.com qui ne serait pas redirigé... mais sincèrement, je ne vois pas pourquoi d'autre. Les deux lignes l'une derrière l'autre font comme un AND ('et' inclusif) : s'il y a des caractères alpha et si ce n'est pas www, on redirige. Tout autre caractère non alpha ne serait pas pris en compte pour rediriger, donc typiquement les chiffres.
 
WRInaute accro
Ha ok, merci à vous deux alors.
Et si on veut pouvoir gérer des sous domaines, mais rediriger vers le www. quand il n'y est pas, c'est jouable ou pas ?
 
WRInaute discret
bproductiv a dit:
Ha ok, merci à vous deux alors.
Et si on veut pouvoir gérer des sous domaines, mais rediriger vers le www. quand il n'y est pas, c'est jouable ou pas ?

Peux-tu expliciter stp, je ne te suis pas ?

Donne nous la structure des sous-domaines que tu souhaites gérer.

Par ex., est-ce-que tu veux créer des sous-domaines "virtuels" de la forme : sous-domaine.mon-domaine.tld = www.mon-domaine.tld/sous-domaine/ ?

Si c'est le cas, il te faut au préalable vérifier la zone dns de ton domaine : *.mon-domaine.tld doit pointer vers l'adresse ip de ton serveur.
 
WRInaute passionné
Code:
RewriteCond %{HTTP_HOST} !^www [NC,OR] 
RewriteCond %{HTTP_HOST} !^ssdom [NC] 
RewriteRule ^(.*) http://www.example.com/$1  [QSA,L,R=301]
Ne pas oublier le OR à chaque sous-domaine sauf dans la dernière ligne de conditions. Il est possible de simplifier l'écriture mais c'est plus causant ainsi.

Ca signifie en clair : si l'adresse ne commence ni par www, ni par ssdom, alors, je force le www. Seul cas pas prévu, c'est si ssdom est le début du nom de domaine... (il faut rajouter la gestion du point avec \. ) Mais franchement, faudrait être tordu pour créer un sous-répertoire avec le début du ndd! :lol:

Pour des raisons de rapidité, il est important que le premier test porte sur le www car c'est vraisemblablement le cas le plus important (si la condition est vraie, les autres ne seront pas exécutées).

Jef_qui_est_en_train_de_passer_son_serveur_avec_des_disques_SDD!
 
WRInaute passionné
Oui, c'est cela : 1 ligne à chaque sous-domaine. Bon, ensuite, selon le nombre et noms des sous-domaines, il est peut-être possible de regrouper pour gagner en temps d'exécution.
 
Discussions similaires
Haut