http://www.hogehoge.comにアクセスした際に、モバイルならhttp://www.hogehoge.com/m/に転送させる.htaccessファイルについて記述していきます。
※これらのファイルはサブディレクトリが複数あるとうまく動かないようなので、ドキュメントルートの直下に置く場合のみ有効です。11月16日記事
目次
超便利なサイトがあるんですね。
https://htaccess.cman.jp/explain/redirect_mobi.html
<Files ~ "^\.ht"> deny from all </Files> # Redirect UserAgent RewriteEngine On # DEVICE SetEnvIfNoCase User-Agent "iPhone" ua_device=smart SetEnvIfNoCase User-Agent "iPod" ua_device=smart SetEnvIfNoCase User-Agent "Android.*Mobi" ua_device=smart SetEnvIfNoCase User-Agent "Windows Phone" ua_device=smart SetEnvIfNoCase User-Agent "Mobi.*Firefox" ua_device=smart SetEnvIfNoCase User-Agent "(Nexus 4|Nexus 5|Nexus 6)" ua_device=smart SetEnvIfNoCase User-Agent "BlackBerry" ua_device=smart SetEnvIfNoCase User-Agent "iPad" ua_device=tablet SetEnvIfNoCase User-Agent "Android.*Tablet" ua_device=tablet SetEnvIfNoCase User-Agent "Windows.*Touch" ua_device=tablet SetEnvIfNoCase User-Agent "Tablet.*Firefox" ua_device=tablet SetEnvIfNoCase User-Agent "(Kindle|Silk)" ua_device=tablet SetEnvIfNoCase User-Agent "(Nexus 7|Nexus 9|Nexus 10)" ua_device=tablet SetEnvIfNoCase User-Agent "^DoCoMo" ua_device=phone SetEnvIfNoCase User-Agent "UP.Browser" ua_device=phone SetEnvIfNoCase User-Agent "SoftBank" ua_device=phone SetEnvIfNoCase User-Agent "^J-PHONE" ua_device=phone SetEnvIfNoCase User-Agent "MOT-" ua_device=phone SetEnvIfNoCase User-Agent "WILLCOM" ua_device=phone SetEnvIfNoCase User-Agent "^emobile" ua_device=phone # base path RewriteBase / # ridirect path condition RewriteCond %{REQUEST_URI} !^m/.*$ # user-agent condition RewriteCond %{ENV:ua_device} smart # redirect RewriteRule ^(.*)$ m/$1 [R,L]
<Files ~ "^\.ht"> deny from all </Files> # Redirect UserAgent RewriteEngine On # DEVICE SetEnvIfNoCase User-Agent "iPhone" ua_device=smart SetEnvIfNoCase User-Agent "iPod" ua_device=smart SetEnvIfNoCase User-Agent "Android.*Mobi" ua_device=smart SetEnvIfNoCase User-Agent "Windows Phone" ua_device=smart SetEnvIfNoCase User-Agent "Mobi.*Firefox" ua_device=smart SetEnvIfNoCase User-Agent "(Nexus 4|Nexus 5|Nexus 6)" ua_device=smart SetEnvIfNoCase User-Agent "BlackBerry" ua_device=smart SetEnvIfNoCase User-Agent "iPad" ua_device=tablet SetEnvIfNoCase User-Agent "Android.*Tablet" ua_device=tablet SetEnvIfNoCase User-Agent "Windows.*Touch" ua_device=tablet SetEnvIfNoCase User-Agent "Tablet.*Firefox" ua_device=tablet SetEnvIfNoCase User-Agent "(Kindle|Silk)" ua_device=tablet SetEnvIfNoCase User-Agent "(Nexus 7|Nexus 9|Nexus 10)" ua_device=tablet SetEnvIfNoCase User-Agent "^DoCoMo" ua_device=phone SetEnvIfNoCase User-Agent "UP.Browser" ua_device=phone SetEnvIfNoCase User-Agent "SoftBank" ua_device=phone SetEnvIfNoCase User-Agent "^J-PHONE" ua_device=phone SetEnvIfNoCase User-Agent "MOT-" ua_device=phone SetEnvIfNoCase User-Agent "WILLCOM" ua_device=phone SetEnvIfNoCase User-Agent "^emobile" ua_device=phone # base path RewriteBase / # ridirect path condition RewriteCond %{REQUEST_URI} !^m/.*$ # user-agent condition RewriteCond %{ENV:ua_device} smart [OR] RewriteCond %{ENV:ua_device} tablet # redirect RewriteRule ^(.*)$ m/$1 [R,L]
ドキュメントルートが/var/www/html/ならその直下に置きます。そしてそのディレクトリに「m」というディレクトリをおけばOKです。
便利ですね。