MovableType: Umleitung für mobile Geräte

An dieser Stelle hatte ich beschrieben wir man ein eigenes Template für mobile Geräte erstellt. Im wesentlichen werden mit so einem Template alle Seiten noch einmal in einem speziellen Verzeichnis mit angepasstem Layout abgelegt.

Nun muss man nur noch sicherstellen, daß ein mobiles Gerät nicht das normale html geliefert bekommt,  sondern das aus dem "mobilen Verzeichnis"

Mit dem Apache Module mod_rewrite kann man dies bewerkstelligen. Einfach in dem Blog Verzeichnis eine Datei namens .htaccess erstellen und folgenden Text einfügen

RewriteEngine on

RewriteCond %{REQUEST_URI} !^/m/.*$ [NC]
RewriteCond %{REQUEST_URI} !png|jpg|JPG|PNG|gif [NC]
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
RewriteRule ^(.*)$ /m/$1 [L,R=302]

Das sagt nichts anderes als das

  1. Alle Aufrufe ignoriert werden die schon /m enthalten (also schon auf mein mobiles Verzeichnis zeigen)
  2. alle Aufrufe auf Bilder nicht geändert werden. (die habe ich ja nur einmal)
  3. die Aufrufe ausgewählt werden die auf ein mobiles Gerät deuten (http_user_agent)
  4. und in die restlichen Aufrufe füge ein /m/ ein.