ユーザーエージェントによってPCとスマートフォンを振り分ける方法

iPhone4s

ユーザーエージェントによって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]

————————————————-

以上

林健治

About Ken 329 Articles
有限会社ナセバーナルの代表取締役