※ ChatGPTを利用し、要約された質問です(原文:携帯とPC振り分け)
携帯とPC振り分け
このQ&Aのポイント
携帯からアクセスがあった場合に振り分けできる方法を教えてください。
現在作成中のPCサイトには携帯対応のページが含まれていません。
PHP初心者ですが、携帯サイトのソースコードを利用することは可能でしょうか?
現在PCサイトを作っています。
携帯からアクセスがあった場合に振り分け(?)したいと思っていて、現在ソースがこんなかんじです。
.htaccessに
DirectoryIndex index.php index.cgi index.html index.shtml
と書いてあって、
<?php
$mobile = print <<<MOBILE
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>携帯には対応していません(HPタイトル)</title>
</head>
<body>
携帯には対応していません。(HPタイトル)
</body>
</html>
MOBILE;
if(isset($_SERVER['HTTP_USER_AGENT'])){
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if(eregi("DoCoMo",$user_agent)){$mobile;exit;}
else if(eregi("UP\.Browser",$user_agent)){$mobile;exit;}
else if(eregi("J-PHONE",$user_agent)){$mobile;exit;}
else if(eregi("Vodafone",$user_agent)){$mobile;exit;}
else if(eregi("mobile",$user_agent)){$mobile;exit;}
else if(eregi("J-EMULATOR",$user_agent)){$mobile;exit;}
else{header("Location: index.html");exit;}
}else{
print <<<END
<html><body>
HTTP_USER_AGENT Error<br /><br />
ユーザーエージェントが読み込めませんでした。<br />
</body></html>
END;
}
?>
こんな感じです。
ですが、エラーはいてしまいます。
Warning: Cannot modify header information - headers already sent by (output started at D:\XAMPP\htdocs\index.php:16) in D:\XAMPP\htdocs\index.php on line 26
こんな感じです。
まったくのPHP初心者(HTMLはまあまあわかる)なので
だいぶソースが間違っていると思います。
このPHPのソースは携帯サイトnet(http://www.keitai-site.net/)からいただきました。
お礼
動作しました! ありがとうございました。