ユーザーエージェントによってPCとスマートフォン(iPhone / Android)を振り分ける方法いろいろ(PHP / JavaScript / .htaccess等)
PCでアクセスした場合はPC用サイトへ、スマートフォンでアクセスした場合はスマフォ用のアドレスに振り分けられるようにする方法です。
■PHPによる振り分け
ユーザーエージェントを判別して「iPhone」、「Android」の場合はspディレクトリへ移動するようにしています。
PC用のindex.phpに下記コードを記述。
————————————————-
<?php
$ua=$_SERVER[‘HTTP_USER_AGENT’];
if((strpos($ua,’iPhone’)!==false)||(strpos($ua,’iPod’)!==false)||(strpos($ua,’Android’)!==false)) {
header(“Location:/sp/index.php”);
exit();
}
?>
————————————————-
■JavaScriptによる振り分け
navigator.userAgentでユーザーエージェントを取得し、indexOf()を使って判別します。
「iPhone」、「Android」の場合はspディレクトリへ移動するようにしています。
————————————————-
<script type=”text/javascript”>
if ((navigator.userAgent.indexOf(‘iPhone’) > 0 && navigator.userAgent.indexOf(‘iPad’) == -1) || navigator.userAgent.indexOf(‘iPod’) > 0 || navigator.userAgent.indexOf(‘Android’) > 0) {
location.href = ‘/sp/’;
}
</script>
————————————————-
■.htaccessによる振り分け
ユーザーエージェントを判別して「iPhone」、「Android」の場合はspディレクトリへ移動するようにしています。
.htaccessを作成し、下記コードを記述。
————————————————-
RewriteEngine On
# Set enviroment value by user-agent
SetEnvIf User-Agent “iPhone” UA=sp
SetEnvIf User-Agent “iPod” UA=sp
SetEnvIf User-Agent “Android” UA=sp
# Redirect if smart phone
RewriteCond %{REQUEST_URI} !^/sp.*
RewriteCond %{ENV:UA} ^sp$
RewriteRule ^(.*)$ /sp/ [R,L]
————————————————-
以上
林健治