Thu, May 26, 2016

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

 

この記事を共有 :

Twitter Delicious Facebook Digg Stumbleupon Favorites More

Leave a Reply

Spam Protection by WP-SpamFree