• ベストアンサー

モバイルとPC にエージェントの振り分け

モバイルとPC にエージェントの振り分け モバイルとPC にエージェントの振り分けをしたいのですが、 ヘテムルはhtaccessが使えないのですよね。 PC をindex.html モバイルをindex.phpに振り分けたいので index.phpも使えません。 どうしたらよいですか?

  • PHP
  • 回答数2
  • ありがとう数6

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

  • ベストアンサー
  • pnck
  • ベストアンサー率90% (9/10)
回答No.1

index.htmlは置かずに、PCサイトをindex.phpにし、 モバイルは別ファイル、index_mobile.phpにするとか、 別ディレクトリ、/mobile/index.phpにするとか、 バーチャルホストが使えるなら、http://mobile.example.com/にするとか、 多くのサイトで振り分け先をそのように管理してると思うのですが、 そういうのは駄目なのでしょうか? どうしてもindex.htmlとindex.phpでやりたいのなら、 index.htmlでJavaScriptによる振り分けを行うか、 refreshヘッダを使って、一度index.phpに飛ばすことで対処できますが、 携帯の場合、この辺に対応してるかどうか(使えるか)が問題になってくるので、 確実に振り分けたいのならこの方法は使うべきではありません。 最初に書いた方法を検討してみて下さい。

kurobon619
質問者

お礼

なるほど、pnckさんありがとうございます。 試してみます。

その他の回答 (1)

  • pnck
  • ベストアンサー率90% (9/10)
回答No.2

すみません。訂正。 > refreshヘッダを使って、一度index.phpに飛ばすことで対処できますが、 これはだめですね。 index.phpに飛ばしてPCサイトと判別されてindex.htmlに戻ったらまたrefreshされて・・・ と、無限ループしてしまいますね。 この方法はなしでお願いします。

関連するQ&A

  • 携帯のユーザーエージェントの振り分け

    PHPで携帯のユーザーエージェントの振り分けを行うということが モバイルサイト作成で言われてますが、その場合 エージェントごとにページをいちいちつくるんでしょうか?

    • ベストアンサー
    • PHP
  • PCと携帯の振り分けについて教えてください

    PCと携帯の振り分けについて教えてください。 htaccessで、ユーザーエージェントの判断で、PC用のトップページと 携帯用のトップページへ振り分けを行ったのですが・・・ http://xxx.com/ だと正常に携帯トップページへ振り分けられるのですが、 http://xxx.com/index.htmlだと携帯からでもPCのトップページが 表示されてしまいます。 いろいろ調べたのですが、携帯はMETAタグのリフレッシュ?に対応していないから、http://xxx.com/index.htmlのindex.htmlを携帯用に作成してPCのトップページは別に作成するとか・・・書いてありました。 http://xxx.com/index.htmlにアクセスした場合は、htaccessは有効にならないのでしょうか? 他にどのような対応方法があるのでしょうか? できれば、現PC用のindex.htmlを使用したいのですが・・・ よろしくお願いします。

  • 携帯サイトの振り分けについて

    説明がややこしかったらすみません。 現在、既存のPCサイトに合わせて新規の携帯サイトを作っています。 PCサイトのURL(index.html)にアクセスをしたときに 携帯からのアクセスは(/mobile/index.html)などに飛ばしたいと考えています。 htaccessでの振り分けを考えていましたが、 サーバーがhtaccessの使用ができないみたいで困っています。 PCサイトの(index.html)は URLの変更はできませんので index.phpなどをおいて 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
  • 【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
  • htaccess ユーザーエージェント 振り分け 

    htaccess でユーザーエージェント 振り分けを行いました。http://www.example.com/ 以下に htaccessを入れましたが、PCのSEO対策上問題があるでしょうか? RewriteEngine On RewriteCond %{HTTP_USER_AGENT} DoCoMo RewriteRule ^$ http://www.example.com/i/index.html [R] RewriteCond %{HTTP_USER_AGENT} J-PHONE RewriteRule ^$ http://www.example.com/s/index.html [R] RewriteCond %{HTTP_USER_AGENT} Vodafone RewriteRule ^$ http://www.example.com/s/index.html [R] RewriteCond %{HTTP_USER_AGENT} SoftBank RewriteRule ^$ http://www.example.com/s/index.html [R] RewriteCond %{HTTP_USER_AGENT} UP.Browser RewriteRule ^$ http://www.example.com/e/index.html [R]

    • ベストアンサー
    • HTML
  • ホームページPC/携帯自動振り分け

    クライアントのホームページを作成しておりますが、 某レンタルサーバ・独自ドメインでPC用HP運営中です。 携帯用サイトも作り、同アドレス「www.○○○.com」で自動振り分けしたいと思います。 PC用のトップページは「index.html」のままにしたいのですが、 当初、phpにて行おうと取り組みましたが、 サーバ側の.htaccessの規制により indexファイルの順位を変えることが出来ないようで、 (.htaccessを書き換えたらエラーに)一度断念しました。 何か良い方法(php以外でも)はないでしょうか? ■.htaccess 利用可能なディレクティブはAuthConfigとLimitのみ ■indexファイルの優先順位 index.html/index.htm/index.cgi/index.php/index.shtml/index.wml/index.hdml  ■php、perl、CGI使用可能 ◎希望条件・・PC用のトップページは「index.html」 以上、宜しくお願いいたします。

  • 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ファイルを作りました。 そして各ホルダ i,s にindex.htmlを配置したところ Warning:Cannot modify header information headers already sent by (output started at /home/lolipop,jp-dp44253830/web/mobile/index.php:1) in/home/sites/lolipop.jp/users/lolipop.jp-dp44253830/web/mobile/index.php on line 4 index.php <?php $agent = $_SERVER['HTTP_USER_AGENT']; if(preg_match("/^DoCoMo/i", $agent)){ header("Location: http://homepege.net/mobile/i/index.html"); exit; }else if(preg_match("/^(J\-PHONE|Vodafone|MOT\-[CV]|SoftBank)/i", $agent)){ header("Location: http://homepage.net/mobile/s/index.html"); exit; 省略 } ?> お手数ですが教えてください。

    • ベストアンサー
    • PHP
  • pcと携帯の自動振り分け

    http://xxx.xxx.jp/にアクセスしブラウザがパソコンであれば index.htmlを表示し、携帯であれば機種判別し imodeであればhttp://xxx.xxx.jp/i/index.html auであればhttp://xxx.xxx.jp/au/index.html voadfonであればhttp://xxx.xxx.jp/v/index.html と自動で振り分けしたいのです。 pcと携帯を判別して自動で振り分けするものはみつかるのですが 携帯をさらに機種判別して振り分けするという例が 見当たりませんでした。どのようにわけるのでしょうか? フリーでcgiかphpどちらでも構いませんので参考になる サイトがありましたら教えて下さい。 サーバーは.htaccess使用可能です。

専門家に質問してみよう