PHPでOSとブラウザ判定をしてMACのIEだったらindex2.htmlというページにロケーションしてそれ以外はindex.htmlとういうふうにしたいのですがどうしたらいいでしょうか??

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:typista No.1

回答回数359ベストアンサー獲得回数7

ポイント40pt

上記URLの001の説明をご覧ください。


$agent = $ENV{’HTTP_USER_AGENT’};

if($agent =~ /mac/i)

{

  header(”Location: http://www.hoge.co.jp/index2.html”);

}

header()の説明です。

id:yashio

環境変数が取得できないんですかね??

こんなエラーが表示されました。

Parse error: parse error, unexpected ’/’ in /home/main/public_html/kose/check.php on line 4

2005/09/02 16:57:33
  • id:typista
    いい加減な回答をしてしまいました

    環境変数は
    $agent = $_SERVER[”HTTP_USER_AGENT”]
    でどうでしょう?
    ※いずれにしても、echo or print にて確認してみてください。

    あと
    if($agent =~ /mac/i)
    の記述も、実は私はあまり見かけない表現(比較演算子)なので、
    if(strstr($agent,”Macintosh”))
    のほうが良いかも知れません。

    UserAgentについて
      http://hotwired.goo.ne.jp/webmonkey/99/07/index2a_page2.html

    strstrについて
      http://php.benscom.com/manual/ja/function.strstr.php

  • id:jazzanova
    Perl

    回答者が提示している物はPerlでの例ですね。

    PHPでのユーザーエージェント取得方は
    $ua = getenv(’HTTP_USER_AGENT’);
    です。

    OS、ブラウザーを判定するライブラリーがありますので良かったら使ってみて下さい。
    http://pear.php.net/package/Net_UserAgent_Detect

    これに関する説明は
    http://pear.php.net/package/Net_UserAgent_Detect/docs/latest/Net_UserAgent/Net_UserAgent_Detect.html
    をどうぞ。
  • id:kuchinashi
    Re:Perl

    普通は
    $_SERVER[’HTTP_USER_AGENT’]
    とかやるもんだと思ってましたが…。

    phpinfo();
    を使って自分で確認してみるのが一番です。
  • id:jazzanova
    (投稿者削除)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません