2010-07-24 4 views
0

J'essaie de rediriger toutes les pages et sous-domaines en les précédant d'un m. sous-domaine sauf s'il commence par un m. pourtant il échoue complètement. Où vais-je mal?Redirection de sous-domaines vers la version mobile

exemple.com ou www.example.com -> m.exemple.com test.exemple.com -> m.test.exemple.com images.exemple.com -> m.images.exemple.com m.example.com -> ne pas redirigent m.test.example.com -> ne pas redirigent

RewriteCond% {HTTP_HOST}^m (de [.]. *) ?. example.com

$

RewriteCond% {HTTP_HOST}^(. *) ?. example.com

$

RewriteRule (. *) http://m%2.example.com/ $ 1 [R, L]

+0

Il échoue dans le sens où rien ne se passe, ou quelque chose d'autre ne va pas? Aussi, sont-ils les seules règles que vous avez dans le fichier '.htaccess'? –

+0

Il va récursif, commence m. alors mm. alors mmm. plus les sous-domaines n'apparaissent pas dans la réécriture. – Paul

Répondre

1

J'ai mis en place vos règles sur mon serveur de test, mais je n'ai pas pu répliquer la redirection récursive. Cela étant dit, vous devez le modifier afin qu'il ressemble à ce qui suit:

RewriteCond %{HTTP_HOST} !^m([.].*)?\.example\.com$ 
RewriteCond %{HTTP_HOST} ^(.*)?\.example\.com$ 
RewriteRule (.*) http://m.%1.example.com/$1 [R,L] 

qui va au moins résoudre le problème en ce qui concerne les sous-domaines manquants. (Vous avez manqué un point après le m, et le groupe de capture représentant le sous-domaine est %1)

Comme je ne pouvais pas reproduire l'autre moitié du problème, je ne suis pas sûr de ce qui pourrait le causer . Si vous avez plus d'informations que vous pensez pouvoir aider, je suis prêt à donner un autre coup cependant.

Questions connexes