写メールBBSの携帯ページSoftBank振り分けについて

このQ&Aのポイント
  • SoftBankの携帯ページ表示に関する問題が発生している
  • 過去には他の携帯キャリアでも問題なく表示されていたが、SoftBankの場合はパソコン用のページが表示されてしまう
  • 携帯の設定を確認しても問題ないため、振り分けの記述に問題がある可能性がある
回答を見る
  • ベストアンサー

写メールBBSの携帯ページSoftBank振り分けについて

レッツPHPの写メールBBSを使用しています。 私、個人はauの携帯電話で、友達のドコモも問題なく見れていました。 過去にはボーダフォンの携帯でも問題なく見れていました。 しかし、先月くらいからSoftBankの人から「パソコン用のページが表示される!」と連絡が入りました。 確認すると間違いなくPC用のHTMLを読み込んでいます。 振り分けの記述は下記のデフォルトの通りなんですが。。。 $env = "pc"; $ua = explode("/", $_SERVER['HTTP_USER_AGENT']); if (strstr($ua[0], "DoCoMo")) { $env = "i"; // DoCoMo } elseif (preg_match("#^UP.Browser|KDDI#i", $ua[0])) { $env = "i"; // au } elseif (preg_match("#^J-PHONE|Vodafone|SoftBank|MOT#i", $ua[0])) { $env = "i"; // Vodafone 携帯の設定では無いような気がしますが、どうしたら携帯用のページを表示させてますでしょうか??

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

softbankサイトで確認する限りでは、特に新しいUserAgentは追加されていないように思われますけどね・・・。   http://developers.softbankmobile.co.jp/dp/tech_svc/info/useragent.php?page=4 まずはサーバログを確認して、UserAgentがどうなっているかを確認すべきだと思います。あるいは下記のようなスクリプトを設置して、アクセスしてみてください。   <?php   print 'あなたのUserAgentは' . $_SERVER['HTTP_USER_AGENT'] . 'です';   ?>

great_man2
質問者

お礼

ユーザーエージェントには問題が見つかりませんでした。 携帯電話のPCサイトビューアーの関係だと思ってあきらめます(^^;

関連するQ&A

  • PHPでのガラケー、PC、iPhone振り分け

    レッツPHPさんの写メールBBSを使用しています。 iPhoneページを作成し、mailbbs.phpで振り分け設定を試みたのですが どれだけやってもどうにも上手くいきません。 スマートフォンのページ名をmailbbs_smart.htmlとし、 (他のPC用、携帯用ではデフォルトでmailbbs_pc.html、mailbbs_i.htmlとなっていました) 振り分け設定では mailbbs.phpに $ua = explode("/", $_SERVER['HTTP_USER_AGENT']); if (strstr($ua[0], "DoCoMo")) { $env = "i"; // DoCoMo } elseif (preg_match("#^UP.Browser|KDDI#i", $ua[0])) { $env = "i"; // au } elseif (preg_match("#^J-PHONE|Vodafone|SoftBank|MOT#i", $ua[0])) { $env = "i"; // Vodafone } elseif (preg_match($ua[0] , "iPhone")) { $env = "smart"; //iPhone } と記述しました。 他にeregなどでも設定したのですが大抵 ・ページが表示されない か ・PC用のデザインで表示される という風になってしまいます。 htmltamplate.incとの関連付けが上手くいってないからでしょうか。 当方PHPに関してあまり詳しくありません。 レッツPHPさんの写メールBBSを使用した方いましたら、 是非ご教授お願いします。 レッツPHPさんのHP http://php.s3.to/bbs/bbs7.php

    • 締切済み
    • PHP
  • SB携帯のサブスクライバID取得について

    はじめて投稿いたしました。 この度、携帯で会員制のコンテンツをリリースする予定でおりまして、 会員認証の場面等でサブスクライバIDをキーとしてユーザー判別を行お うとしております。 そこで、色々なサイトを参考とさせて頂きながら、下記の様なソースで サブスクライバIDを取得を試みました。 その結果、ドコモとAUは問題ありませんでしたが、SB携帯だけサブスクラ イバIDの取得ができませんでした。 SB公式サイトや各種情報サイトを参考に、色々ソースをいじってみたので すが、どーにも取得できません。 恐れ入りますが、どなたかお分かりになる方、不具合点のご指摘をお願い 申し上げます。 ---以下、ソース------------------------ $UA = $_SERVER['HTTP_USER_AGENT']; $HostName = @gethostbyaddr($_SERVER['REMOTE_ADDR']); // DoCoMo if ( preg_match("/.docomo.ne.jp/", $HostName) ) { preg_match("/ser([a-zA-Z0-9]+)/",$UA, $dprg); if ( strlen($dprg[1]) === 11 ) { $MobileInfo = $dprg[1]; } elseif ( strlen($dprg[1]) === 15 ) { $MobileInfo = $dprg[1]; preg_match("/icc([a-zA-Z0-9]+)/",$UA, $dpeg); if ( strlen($dpeg[1]) === 20 ) { $MobileInfo = $dpeg[1]; } else { $MobileInfo = false; } } else { $MobileInfo = false; } } //SBの処理はここから elseif( preg_match("Vodafone",$UA) || preg_match("SoftBank",$UA ) ) { // SoftBank if ( preg_match("//SN([a-zA-Z0-9]+)//",$UA,$vprg) ) { $MobileInfo = $vprg[1]; } else { $MobileInfo = false; } } //SBの処理はここまで elseif ( preg_match("/.ezweb.ne.jp/", $HostName) ) { // au $MobileInfo = $_SERVER['HTTP_X_UP_SUBNO']; }

    • 締切済み
    • PHP
  • 携帯とPCの振り分け

    同じドメインにて携帯とPCの振り分けなのですが、htaccessにて振り分けたのですが、ブラウザに「振り分けがループしています」とでるのですが、 これはなぜでしょう? htaccessの中身の内容ですが、 DirectoryIndex index.php index.html index.htm これで読み込んだindex.phpの中身は <?php $agent = $_SERVER['HTTP_USER_AGENT']; if(preg_match("/^DoCoMo/i", $agent)){ header("Location: http://www.○○○○○.com/mobile/index.xhtml"); exit; }else if(preg_match("/^(J\-PHONE|Vodafone|MOT\-[CV]|SoftBank)/i", $agent)){ header("Location: http://www.○○○○○.com/mobile/index.xhtml"); exit; }else if(preg_match("/^KDDI\-/i", $agent) || preg_match("/UP\.Browser/i", $agent)){ header("Location: http://www.○○○○○.com/mobile/index.xhtml"); exit; }else{ header("Location: http://www.○○○○○.com/"); exit; } ?> サーバはlolipopでhtaccessのパーミッションは604で phpのパーミッションは700です。

    • 締切済み
    • CGI
  • i Phone 用振り分け

    以下のように携帯キャリアごとに振り分け、3キャリア以外は PCフォルダに振り分けるようにした場合ですが、PCフォルダの方で i Phone 用に幅480pxで作成したページを配置すると PCから http://mypage.net/ でアクセスしたユーザーにも i Phone 用の幅480pxページを見せるようになってしまいますか? i Phoneやスマートフォンの対処はどうされているんでしょうか? <?php $agent = $_SERVER['HTTP_USER_AGENT']; if(preg_match("/^DoCoMo/i", $agent)){ header("Location: http://mypage.net/i/index.html"); exit; }else if(preg_match("/^(J\-PHONE|Vodafone|MOT\-[CV]|SoftBank)/i", $agent)){ header("Location: http://mypage.net/s/index.html"); exit; }else if(preg_match("/^KDDI\-/i", $agent) || preg_match("/UP\.Browser/i", $agent)){ header("Location: http://mypage.net/e/index.html"); exit; }else{ header("Location: http://mypage.net/pc/index.html"); exit; } ?>

    • ベストアンサー
    • PHP
  • 携帯ユーザーのPHPによる振り分け

    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の知識が無いのでわかりやすく回答していただけるとたすかります。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 携帯、スマートフォンのPHP振り分け

    こんなPHPを書いているのですが どうしてもParse errorが出ます。 解決方法を教えて下さい!! ■エラー内容 Parse error: syntax error, unexpected T_EXIT in /home/sites/heteml/users/web/m/index.php on line 5 ■振り分けPHP <?php $agent = $_SERVER['HTTP_USER_AGENT']; if(preg_match("/^DoCoMo/i", $agent)){ header("Location: ​http://www.hogehoge.com/m/i/index.html");​ exit; }else if(preg_match("/^(J\-PHONE|Vodafone|MOT\-[CV]|SoftBank)/i", $agent)){ header("Location: ​www.hogehoge.com/m/s/index.html");​ exit; }else if(preg_match("/^KDDI\-/i", $agent) || preg_match("/UP\.Browser/i", $agent)){ header("Location: ​www.hogehoge.com/m/e/index.html");​ exit(); }else if(preg_match("iPhoneやスマートフォン用の判定", $agent)){ header("Location: www.hogehoge.com/m/smt/index.html"); exit(); }else{ header("Location: ​www.hogehoge.com/m/pc/index.html");​ exit(); } ?> よろしくお願い致します。

    • ベストアンサー
    • PHP
  • phpでエージェントの振り分けがうまくいかない

    phpでエージェントの振り分けがうまくいかない 以下のようにmフォルダの中にindex.phpを以下の内容で設置し、同列でi,a,sフォルダを設け それぞれindex.htmlを設けました。しかし携帯でhttp://hoge.com/m で打つとサイトがみつかりませんになります。<?phpより上は空白、改行はありません。 振り分けがうまく機能しないのはなぜでしょうか? <?php $agent = $_SERVER['HTTP_USER_AGENT']; if(preg_match("/^DoCoMo/i", $agent)){ header("Location: http://hoge.com/m/i/index.html"); exit; }else if(preg_match("/^(J?-PHONE|Vodafone|MOT?-[CV]|SoftBank)/i", $agent)){ header("Location: http://hoge.com/m/s/index.html"); exit; }else if(preg_match("/^KDDI?-/i", $agent) || preg_match("/UP?.Browser/i", $agent)){ header("Location: http://hoge.com/m/a/index.html"); exit; }else{ header("Location: http://hoge.com/index.php"); exit; } ?>

    • ベストアンサー
    • PHP
  • 【PHP・.htaccess】PCと携帯の振り分けについて

    【PHP・.htaccess】PCと携帯の振り分けについて お世話になります。 PHP・.htaccess共に初心者なのですが、 PCサイトと携帯サイトの振り分けで悩んでいるので宜しくお願い致します。 現在の構成が http://sample.com/ ←トップページ(PHPファイルのみ。各トップへ振り分け) http://sample.com/pc/ ←PCトップページ http://sample.com/mo/ ←モバイルトップページ(.htaccessでIP制限。PCからのアクセスはトップへ) ---------------------------------------------------- 振り分けPHP(http://sample.com/) <?php $agent = $_SERVER['HTTP_USER_AGENT']; if(preg_match("/^DoCoMo/i", $agent)){ header("Location: http://sample/mo/"); exit; }else if(preg_match("/^(J-PHONE|Vodafone|MOT-[CV]|SoftBank)/i", $agent)){ header("Location: http://sample/mo/"); exit; }else if(preg_match("/^KDDI-/i", $agent) || preg_match("/UP.Browser/i", $agent)){ header("Location: http://sample/mo/"); exit; }else{ header("Location: http://sample/pc/"); exit; } ---------------------------------------------------- となって居ますが、都合により http://sample.com/ ←PCトップ モバイルからのアクセスはmoに振り分け。 http://sample.com/mo/ ←モバイルトップページ。(.htaccessでIP制限。PCからのアクセスはトップへ) 上記の形に切り替えたいと思っています、 PHPを使って振り分けをしたいと思っているのですが、 上記の形を再現する事は出来ますでしょうか? また、.htaccessを利用する事により解決が出来るのであれば、 そちらもご教授いただけると幸いです。

    • 締切済み
    • PHP
  • 携帯端末振り分けソースがソフトバンク端末でうまくいかない?

    携帯端末振り分けの以下のソースを利用していますが、ソフトバンクからフリーで配布されている「ウェブコンテンツビューア」というシュミレータを使いテストするとtype1~3いずれもデスクトップと判断されてしまいます。 「ウェブコンテンツビューア」は何か設定が必要なのでしょうか?、それともこれらのソースにはソフトバンク端末に対するソースのミスがあるのでしょうか? #type1 if($ua=~ /DoCoMo/){$user_agent = 'mobile';} elsif($ua=~ /J-PHONE\/2/){$user_agent = 'mobile';} elsif($ua=~ /J-PHONE\/[3-9]/){$user_agent = 'mobile';} elsif($ua=~ /Vodafone/){$user_agent = 'mobile';} elsif($ua=~ /SoftBank/){$user_agent = 'mobile';} elsif($ua=~ /ASTEL/){$user_agent = 'mobile';} elsif(index($ua,"UP.Browser")==0){$user_agent = 'mobile';} elsif(index($ua,"UP.Browser") > 0){$user_agent = 'mobile';} else{$user_agent = 'desktop';}#Mac and PC #type2 if($ua =~ /^(DoCoMo\/1)/i){$user_agent = 'mobile';}#DoCoMo elsif($ua =~ /^(DoCoMo\/2)/i){$user_agent = 'mobile';}#DoCoMo_FOMA elsif($ua =~ /^ASTEL/i){$user_agent = 'mobile';}#ASTEL elsif($ua =~ /^J\-PHONE/i){$user_agent = 'mobile';}#softbank elsif($ua =~ /^Vodafone/i){$user_agent = 'mobile';}#softbank elsif($ua =~ /^SoftBank/i){$user_agent = 'mobile';}#softbank elsif($ua =~ /^KDDI/i){$user_agent = 'mobile';}#au elsif($ua =~ /^UP\.Browser/i){$user_agent = 'mobile';}#au else{$user_agent = 'desktop';}#Mac and PC #type3 if ($ua =~ /DoCoMo|J-PHONE|Vodafone|Softbank|MOT-|L-mode|DDIPOCKET|PDXGW|ASTEL/ ) { $user_agent = 'mobile'; } else{$user_agent = 'desktop';}

    • ベストアンサー
    • Perl
  • キャリア判別

    キャリア判別するため見よう見まねで以下の通りindex.phpを作成しまして、i,e,sのフォルダにそれぞれindex.htmlを入れまいが、真白で 何も映りません、なぜでしょうか?教えてください。 <?php $ua = $_SERVER['HTTP_USER_AGENT']; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD Compact HTML 1.0 Draft//EN"><HEAD> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <meta http-equiv="Content-Language" content="ja"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="cache-control" content="max-age=0"> <META name="keyword" content=""> <META name="description" content=""> <META name="robots"content="index,follow"> </HEAD> <body> <?php switch(TRUE){ case preg_match("/^DoCoMo\/2\.0/i", $ua): case preg_match("/^DoCoMo\/1\.0/i", $ua): $carrier = "i"; break; case preg_match("/^SoftBank/i", $ua): case preg_match("/^J\-PHONE/i", $ua): case preg_match("/^Vodafone/i", $ua): case preg_match("/^MOT/i", $ua): $carrier = "s"; break; case preg_match("/^KDDI\-/i", $ua): case preg_match("/^UP.Browser/i", $ua): $carrier = "e"; break; default: $carrier = "pc"; break; } $html_filename = "index.html"; $html_filepath = "templates/" .carriers. "/" .$html_filename; $output = @file_get_contents($html_filepath); echo $output; ?> </body> </html>

    • ベストアンサー
    • PHP

専門家に質問してみよう