February 15, 2014 · Server

PCとスマホでドメインを分ける

ここでは、スマートフォンからアクセスされた場合に
サブドメインを付与し、別のページに遷移させるよう設定します。

例:
モバイル向け(サブ)ドメイン:m.sample.com
PC向けドメイン:sample.com

PC向けには、デフォルトであることを明示しましょう

server {  
    listen        80;
    server_name m.sample.com;

    if ($http_user_agent !~* Android|iPhone|iPod) {
        rewrite (.*) http://sample.com$1 last;
    }

    location / {
        root   /var/www/mobile;
        index  index.html;
    }
}

server {  
    listen        80;
    server_name sample.com default_server;

    if ($http_user_agent ~* Android|iPhone|iPod) {
        rewrite (.*) http://m.sample.com$1 last;
    }

    location / {
        root   /var/www/html;
        index  index.html;
    }
}

モバイルのUser-Agentは、把握しきれないくらい多いです。
最初は、access.logを確認しつつ、必要であれば追加しましょう。

筆者自身も、どんな端末なのか知らないものが多い一覧
2.0\ 2MMP
240×320
400X240
AvantGo
BlackBerry
Blazer
Cellphone
Danger
DoCoMo
Elaine/3.0
EudoraWeb
Googlebot-Mobile
hiptop
IEMobile
KYOCERA/WX310K
LG/U990
MIDP-2.
MMEF20
MOT-V
NetFront
Newt
Nintendo\ Wii
Nitro
Nokia
Opera\ Mini
Palm
PlayStation\ Portable
portalmmm
Proxinet
ProxiNet
SHARP-TQ-GX10
SHG-i900
Small
SonyEricsson
Symbian\ OS
SymbianOS
TS21i-10
UP.Browser
UP.Link
webOS
Windows\ CE
WinWAP
YahooSeeker/M1A1-R2D2
iPhone
iPod
Android
BlackBerry9530
LG-TU915\ Obigo
LGE\ VX
webOS
Nokia5800