WindowsXP dreamweaverCS3を使用
PHPの知識はまったくありません。
PCサイト「www.deri6mon.com」(PC用サイト)がすでにできており、
これをQRコードに変換してあります。
そのQRコードをユーザーがスマホと携帯のバーコードリーダーで変換し、
PCサイトにアクセスさせますが、携帯ユーザーは当然容量がオーバーしますので
エラーでとまってしまいます。
そこで、別に携帯サイトを用意してPCサイトにアクセスしてきた携帯ユーザーを
携帯サイトに自動で振り分けたいと考えています。
PCサイトの最上部に下記を記述しました。
PHPを書き込んだファイルはhtml→phpに拡張子を変換してあります。
-----------------ここから-------------------
<?php
$page_m='http://www.deri6mon.com/mb/index.html';
$agent=$_SERVER['HTTP_USER_AGENT'];
if (preg_match("/UP\.Browser\/[3-5]/",$agent) ||
preg_match("/J-PHONE\//",$agent) ||
preg_match("/DoCoMo\//",$agent)
&& !(preg_match("/(Win|Mac|Linux|FreeBSD|OS¥/2|Solaris)/i",$agent)) ||
preg_match("/UP.Browser/",$agent) ||
preg_match("/^Vodafone/",$agent) ||
preg_match("/^SoftBank/",$agent) ||
preg_match("/^MOT-/",$agent) ||
preg_match("/DDIPOCKET;/",$agent) ||
preg_match("/WILLCOM;/",$agent) ||
preg_match("/L-mode\/\//",$agent))
{
header("Location: $page_m");
}else{
}//end if
?>
-----------------ここまで----------------
しかしどうしても携帯でPCサイトが表示されてしまいます。
どこの設定(記述)をどうしたら良いのでしょうか。
因みにhttp://emu.mobile.goo.ne.jp/emu/emu.phpでPCサイトのアドレスを入れると携帯サイトのTESTが表示されるので記述は問題ないと思います。
教えてgooの過去Qを調べてみて気がついた記述が、私が使っているサーバーは
自動で挿入される広告があり「header Locationはエラーになる」というのが
ありました。
これを回避するにはどうすればいいのでしょうか?
PHPの知識が無いのでわかりやすく回答していただけるとたすかります。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
複数の端末で確認されているとは思いますが、テストにお使いの携帯の機種は何でしょうか?
>&& !(preg_match("/(Win|Mac|Linux|FreeBSD|OS¥/2|Solaris)/i",$agent))
これは必要ですかねぇ。
とりあえず
<?php
$agent=$_SERVER['HTTP_USER_AGENT'];
print $agent . '<hr />' . PHP_EOL;
などとして、どういうUserAgentを取得しているか確認してください。
あと、headerで「Location」を返した後にexitを入れておいた方がいいかもしれません(そこそこ長いコンテンツになるのでしょうから)。
<?php
$page_m='http://www.deri6mon.com/mb/index.html';
$agent=$_SERVER['HTTP_USER_AGENT'];
if ((stripos($agent, 'UP.Browser') !== false)or
(stripos($agent, 'DoCoMo') !== false)or
(stripos($agent, 'J-Phone') !== false)or
(stripos($agent, 'Vodafone') !== false)or
(stripos($agent, 'Softbank') !== false)or
(stripos($agent, 'MOT-') !== false)or
(stripos($agent, 'DDIPOCKET') !== false)or
(stripos($agent, 'WILLCOME') !== false)or
(stripos($agent, 'L-mode') !== false)) {
header("Location: $page_m");
exit;
}
?>
<!-- 以下、PC用サイトのhtmlを記述 -->
回答ありがとうございます。
回答していただいたのに申し訳ないのですが、このphpの記述は私が記述したものではなく、
あるサイトの管理者の方がこうやると分岐できる、というものを拝借して実行した結果できなかった、ということで、私は全くphpがわかりません。
>どういうUserAgentを取得しているか確認してください。
よって編集するにもどこをどう編集したらいいのか分からない状態です。
できれば全て編集した状態で張っていただけると助かります。
私がテストでしようした携帯はDoCoMoP903iと最近のauの携帯です。どちらもPCサイトが表示されてしまいました。
今私が試しているのは自動挿入の広告が表示されない無料7日間のプランに変更してどうなるかを確認しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
漢字を含んだ正規表現
-
PHP 「あいまい検索」を行う関...
-
Excelで数字のみを2倍3倍にする...
-
正規表現
-
preg_matchでエラーが出ます。
-
[PHP] preg_match_all関数を使...
-
正規表現を使いimgタグ内から幅...
-
preg_matchで Warning: Undefin...
-
HTMLタグだけにマッチする正規...
-
文字の入力で横バー上段、中断...
-
エスケープ文字の復帰(¥r)と...
-
C言語について。
-
VBAのコマンドボタンの文字列の...
-
パソコンで全角、半角文字の切...
-
sedでの最短一致の書き方
-
PHPの正規表現の意味を教えて下...
-
Excel VBAからBeckyを起動して...
-
エクセルでの漢字、カタカナ、...
-
textarea , PHP, 確認画面 改行
-
改行コード(CR/LF)の設...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで変数から1行目だけを取得...
-
PHPで<a>タグ内からURLと文字を...
-
、"(ダブルクォーテーション)...
-
VBAを使ってHTMLソースから特定...
-
Excelで数字のみを2倍3倍にする...
-
preg_matchでエラーが出ます。
-
正規表現で「0」のみ抽出
-
「半角数字」と「+」を許可する...
-
正規表現パターンの記入方法に...
-
正規表現で特定のHTMLタグのク...
-
PHPで あるフォルダ内の、特定...
-
phpで文字列に"や'などが含まれ...
-
電話番号のチェック ハイフン...
-
正規表現で不正文字
-
Smartyで部分一致
-
Smartyを使用した、テンプレー...
-
http://とhttps://のどちらでも...
-
正規表現でシングルクォーテー...
-
PHPの正規表現で住所を分けるに...
-
PHPメールフォーム URLと半角...
おすすめ情報