2010-08-03 4 views
3

J'essaie d'ajouter une disposition mobile optionnelle à un site Web existant. Dans certaines circonstances, j'aimerais pouvoir proposer un contenu entièrement différent pour la version mobile que pour la même page sur la version standard. Si l'utilisateur visite, disons, m.example.com/food/apple.html, il verra une page entièrement différente que par exemple.com/food/apple.html, sans le m. sous-domaine. Plus précisément, j'aimerais pouvoir créer des fichiers apple.html et apple.mobile.html distincts dans le répertoire, puis utiliser mod_rewrite pour servir la version mobile au lieu de la version standard si l'utilisateur est dans le m. sous-domaine. Cependant, chaque page ne disposera pas d'une version mobile distincte. Je devrai donc d'abord vérifier qu'une version mobile existe réellement avant d'essayer de la diffuser.Utilisation de mod_rewrite pour servir la version mobile d'une page

Est-ce possible? J'ai essayé ceci:

RewriteCond %{SERVER_NAME} ^m\. 
RewriteCond $1.mobile.html -f 
RewriteRule (.*)\.html $1.mobile.html [L] 

... Mais cela ne semble pas fonctionner. Plus précisément, le second RewriteCond ne correspond pas. Je pense que je pourrais avoir besoin de lui donner un chemin absolu. Mais si oui, comment puis-je le faire en insérant la partie ".mobile"? Et si non, qu'est-ce que je fais de mal? Pour la vérification -f, vous avez besoin d'un chemin absolu comme vous le pensiez.

+0

Ahh, maintenant je vois ce que vous essayez de faire ici. Mon commentaire initial (maintenant supprimé) était hâtif, désolé. Bonne question - +1 –

Répondre

1

Il semble que cela ne devrait pas être un gros problème dans votre cas, comme vous pouvez simplement utiliser %{DOCUMENT_ROOT}:

RewriteCond %{SERVER_NAME} ^m\. 
RewriteCond %{DOCUMENT_ROOT}/$1.mobile.html -f 
RewriteRule (.*)\.html $1.mobile.html [L] 
Questions connexes