- まぁ動いたけどね。言われたことはやった気がするけどモアベターなことやろうとすると無限ループに入る。困ったもんだ。
- やりたいことは「ドメイン A, ドメイン B があり、A に携帯でアクセスした場合は B へ、B に PC でアクセスした場合は A へ飛ばす」ということ。
- それぞれに DocumentRoot があればさほど問題でもないんだけど、サーバ上で動いているフレームワークの関係上 DocumentRoot は一つしか設定できないらしい。うーむ。
- で、「A に携帯でアクセスした場合は B へ」の RewriteRule とか
ServerName A
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "DoCoMo" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "J-PHONE" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "Vodafone" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "KDDI" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "UP.Browser" [NC]
RewriteRule (.*) http://B/$1 [R=301,L]
- これは動く。問題ない。
- 「B に PC でアクセスした場合は A へ」を以下のように設定する
ServerName B
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !"DoCoMo" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !"J-PHONE" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !"Vodafone" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !"KDDI" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !"UP.Browser" [NC]
RewriteRule (.*) http://A/$1 [R=301,L]
- こうすると携帯で無限ループが起こる。これは要求されていない(はず)のものなので言われない限り放置だね。眠いし。