Question

J'essaie de rediriger les demandes d'un domaine générique vers un sous-répertoire.
c'est à dire. something.blah.domain.com --> blah.domain.com/something

Je ne sais pas comment utiliser le nom de sous-domaine dans la règle de réécriture.

Solution finale:

RewriteCond %{HTTP_HOST} !^blah\.domain\.com
RewriteCond %{HTTP_HOST} ^([^.]+)
RewriteRule ^(.*) /%1/$1 [L]

Ou comme l'a souligné pilif

RewriteCond %{HTTP_HOST} ^([^.]+)\.media\.xnet\.tk$
Était-ce utile?

La solution

Tu devrais jeter un oeil à Guide de réécriture d'URL à partir de la documentation Apache.

Ce qui suit n'a pas été testé, mais cela devrait suffire :

RewriteCond %{HTTP_HOST} ^([^.]+)\.blah\.domain\.com$
RewriteRule ^/(.*)$           http://blah.domain.com/%1/$1 [L,R] 

Cela ne fonctionne que si le sous-domaine ne contient aucun point.Sinon, vous devrez modifier l'expression rationnelle dans RewriteCond pour qu'elle corresponde à n'importe quel caractère qui devrait toujours fonctionner en raison de l'ancrage, mais cela semble certainement plus sûr.

Autres conseils

Essaye ça:

RewriteCond %{HTTP_HOST} (.+)\.blah\.domain\.com
RewriteRule ^(.+)$ /%1/$1 [L]

@pilif (voir commentaire) :D'accord, c'est vrai.Je viens de copier un .htaccess que j'utilise sur un de mes projets.Je suppose qu'il a une approche légèrement différente :)

@Sam

votre ligne RewriteCond est fausse.L'expansion de la variable est déclenchée avec %, et non avec $.

RewriteCond %{HTTP_HOST} ^([^\.]+)\.media\.xnet\.tk$
            ^

Cela devrait faire l'affaire

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top