.htaccessを使って携帯端末を振り分ける方法

このQ&Aのポイント
  • 携帯端末を.htaccessで振り分ける方法とは?
  • 携帯サイトを作成し、それぞれの携帯端末に適したページにリダイレクトする方法を紹介します。
  • さらに、トップページにはどのようなページを作成すれば良いかも解説します。
回答を見る
  • ベストアンサー

.htaccessを使って携帯端末を振り分ける方法

iモード用ezweb用vodarhone用に それぞれ携帯サイトを作りました。 内容は同一です。 http://www.○○○.net/ というURLなのですが、 これにアクセスすると、 いちいち 「iモード」 「ezweb」 「vodafone」 と選択させてから(ユーザにクリックさせてから)、 それぞれのページ http://www.○○○.net/i.htm(iモード) http://www.○○○.net/e.htm(ezweb) http://www.○○○.net/j.htm(vodafone) へ飛ぶようになっています。 携帯サイト制作王で作ったためです。 これを.htaccessを使って、端末を判別し、 http://www.○○○.net/i.htm(iモード) http://www.○○○.net/e.htm(ezweb) http://www.○○○.net/j.htm(vodafone) http://www.○○○.net/pc.htm(PC) へ自動的に飛ぶようにさせるには どのようにすればよいでしょうか? また、http://www.○○○.net/のトップページにあたるindex.htmはどのようなページを 作成すればよいでしょうか? (現状ですと「iモード」「ezweb」「vodafone」  選択用のページになっております。) 宜しくお願い申し上げます。

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

  • ベストアンサー
  • kalze
  • ベストアンサー率47% (522/1092)
回答No.1

.htaccessが使えるなら、アクセスしてくるIPアドレスベースで振り分ければよいとおもいます。 参考URLにあるとおり、docomo、AU、vodafoneとそれぞれIPアドレス範囲が決まってますから、それぞれの条件に合うIPアドレスだったら、リダイレクトさせればよいかとおもいます。 そして、リストにないものはPCからとみなせばよいかと

参考URL:
http://ja.wikipedia.org/wiki/%E5%88%A9%E7%94%A8%E8%80%85:Tietew/%E6%90%BA%E5%B8%AF%E9%9B%BB%E8%A9%B1%E3%81%AEIP%E3%82%A2
saburo13
質問者

お礼

ありがとうございます。 .htaccessの記入方法は解るのですが、 index.htmlをどのように作成すればよいのかが いまいち解りません。 参考URLで勉強させていただきます。 ありがとうございました。

関連するQ&A

  • PHPによる端末振り分けについて

    宜しくお願いします。 現在は、PERLでPC・各携帯キャリアへの振り分けを行っております。ソースは・・・ #!/usr/bin/perl #index.cgi # #ジャンプ先の設定 # #iモード $imode = "http://www.****.jp/i/index.html"; #EZweb $ezweb = "http://www.****.jp/e/index.html"; #J-Sky $jsky = "http://www.****.jp/j/index.html"; #パソコン $pc = "http://www.****.jp/pc/index.html"; # #ブラウザ情報の取得 # $brwsr = $ENV{'HTTP_USER_AGENT'}; # #判別 # #iモードの判別 if ($brwsr =~ /DoCoMo/){ print "Location: $imode\n\n"; } #EZwebの判別 elsif ($brwsr =~ /UP.Browser/){ print "Location: $ezweb\n\n"; } #J-Skyの判別 elsif ($brwsr =~ /J-PHONE/){ print "Location: $jsky\n\n"; } #その他(パソコン) else { print "Location: $pc\n\n"; } exit; という形で自動振り分けをしておりますが、これと同じ機能をPHPで作るにはどうすれば良いでしょうか?

    • ベストアンサー
    • PHP
  • .htaccess設定後、リンクが開きません。

    .htaccess設定後、リンクが開きません。 よろしくお願いします。 .htaccess設定後、PC用リンクが開かず、ダウンロードのダイアログが出てしまいます。 そのダイアログ上で「検索」を押すと、 http://shell.windows.com/fileassoc/mimeassoc.asp?mime=application%2Fxhtml+xml このようなエラーサイト?が出てしまいます。 PC用サイトと携帯用サイトを作成し、.htaccessにて振り分けをしています。 .htaccess設置後にこの現象が発生しております。 設置直後には正常に表示されますが、なぜか30分?ほど経つと表示されなくなります。 .htaccessの中身は RewriteEngine On AddType application/xhtml+xml .html RewriteCond %{HTTP_USER_AGENT} ^(DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank) RewriteRule ^$ /i/ [R] と記述しました。これはネットから検索してきたものです。 PCサイトのトップページ http://www.○○.com/index.html 携帯サイトのトップページ http://www.○○.com/i/index.html として作成しております。 http://www.○○.com/ でアクセスするとダウンロードダイアログがでてしまいます。 http://www.○○.com/index.htmlならば正常に表示されます。 また、携帯からではhttp://www.○○.com/i/index.htmlが正しく表示されます。 http://www.○○.com/でアクセスしたときに、 http://www.○○.com/index.htmlを表示できるようにしたいです。 正直、どこを見ればいいのか検討もつきません。 詳しい方がいらっしゃいましたらアドバイスをお願いいたします。

    • ベストアンサー
    • HTML
  • htaccessについて

    wwwあり、なし統一 携帯サイトのキャリア判別 PC、スマフォサイトのキャリア判別 をhtaccess に記入したいのですが、 それぞれ順番に書き込めばいいのでしょうか? 何か注意点がございますか?

    • ベストアンサー
    • HTML
  • .htaccessでPC・携帯を振り分け、専用の誘導ページを表示させたい

    /pc/index.html(PCサイトトップ) /pc/.htaccess /pc/error/403.html(PC用に作った403エラーページ) /pc/error/mb.html(携帯用に作ったエラーページ) /mb/index.html(携帯サイトトップ) /mb/.htaccess /mb/error/403.html(携帯用に作った403エラーページ) /mb/error/pc.html(PC用に作ったエラーページ) PCサイトに携帯からアクセスがあった場合→/mb/error/mb.htmlに、 携帯サイトにPCからアクセスがあった場合→/pc/error/pc.htmlに飛ばす 403ページは現時点で使用しているので、できればPCと携帯とを判別して 弾いた場合のみに表示される、専用のエラーページを用意したいです。 可能であれば .htaccess をそれぞれどのように記述すれば良いか教えて下さい。 よろしくお願いいたします。 ※「携帯からPCサイトへアクセス→携帯サイトトップへ飛ばす」ではなく、 「携帯からPCサイトへアクセス→エラーページを表示し、携帯サイトトップへ誘導」にしたいです。 PCから携帯サイトへアクセスした場合も同様です。

  • PC用HPも、携帯用HPも、同じアドレスで見える・・・謎

    時々、パソコンも携帯も同じアドレスでアクセスできます! なんてサイトがありますよね。 謎その1: PC用ページとIモードとJスカイは言語が同じHTMLなので 見える理屈はわかりますが、 モバイル用ページをパソコンで見るととてもチャチですね。 なんでジャバスクリプトでユーザーの環境を調べて、 同じアドレスにアクセスしても、カラフルなPC用ページと、 内容を厳選したモバイル用ページにジャンプするようにしてるのかな? と思いましたが、 モバイル用HTMLではたしか ジャバスクリプトは使えないはずなんですよね・・・ どうやって判別しているのでしょう? 謎その2: IモードとJスカイは、言語こそ同じでも画像が違うはずです。 (Iモード=.gif Jスカイ=.png) なのに共通アドレスでも画像まで見えてしまうのは何故? 謎その3: AU(ezweb)は言語がHDMLもしくはXHTMLと、 全く異なるにもかかわらず、 IモードやJスカイと同じアドレスでも見えることがある・・・ どうしてでしょうか? 私は今仕事で、 PC向きページとIモード向きページとJスカイ向きページを作っているんです。 もちろんアドレスは全部バラバラで。 auについてはXHTMLを書くのが面倒くさくて(^_^;)保留です。 要望はうんざりするほどあるので・・・頭がいたいところです。 でももしまとめて作れる方法があるんなら、 こんなに楽なことはありませんので、ご教授くださいませ。 よろしく。

  • 携帯サイトの.htaccessによるアクセス制限

    携帯・PC両者で閲覧できるサイトを作っていて、.htaccessでアクセス制限(Basic認証) をかけています。 PCはもちろん、docomo,auでは正常に動作するのですが、vodafoneの一部の端末では、「このサイトはvodafone端末ではご利用になれません」と表示されて、閲覧することができません。 もとから、vodafone端末はhtaccessに対応していないのでしょうか?また、具体的に、全ての端末で閲覧することができる方法はないでしょうか? セキュリティの面から、できれば.htaccessを利用したいのですが、無理なのであれば、その他のアクセス制限方法を教えてください。(条件を満たすもので) また、htaccessが利用できない携帯電話端末名一覧が掲載されているHP等ご存知なら、ぜひ教えてください。

    • ベストアンサー
    • HTML
  • 【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での携帯サイト振り分け方法について

    大変困っています。幾日もかかっていますのでどなたかご助力ください。 携帯電話専用のホームページを作成しました。 ホームページのアドレス(URL)を統一してアクセスしてきた端末に応じて指定したページに振分けるようにしたいのです。 「.htaccessでの携帯サイト振り分け方法」はネットで探せば随分出てきますが、どの方法をとってもうまくいきません。 例えば  http://www.xxxxxxx.com/ というアドレスが私のアドレスとしてそれでアクセスするとエラー表示(403)     http://www.xxxxxxx.com/index.htmlのindexを付けるとTOPページに行きます。 携帯でテストしてもエラーです。 本来の目的は http://www.xxxxxxx.com/ でアクセスして振り分けることです。    PHPを使えるサーバーでしたので、PHPでやっても同じでした。 何が原因なのかわからなくなっています。 この携帯サイトはソフトを使って作成しました。 <サイト内の構造> TOPページにある index.html(元々i.ez.sへリンク表示のみ。私はmetaタグにPCから来た人へ他アドレスにあるPCへリダイレクトするようにしました) 下層には i(Dokomoのフォルダ)、ez(auのフォルダ)、s(softbankのフォルダ)がありそれぞれindex, 画像が入っています。 構造は以上です。htaccessでおこなったことは、下記内容です。 1.TOPの「index.html」に下記の記述を「htaccess.txt」と言う名前で保存。(xxxxxxは自アドレスに変更) ---------------------------------------------------------------- -RewriteEngine On RewriteCond %{REQUEST_URI} !^/i/ RewriteCond %{HTTP_USER_AGENT} "DoCoMo" [NC,OR] RewriteRule ^(.*)$ http://xxxxxxx.co.jp/i/ [R,L] RewriteCond %{HTTP_USER_AGENT} DoCoMo [NC] RewriteRule ^$ http://www.example.com/i/index.html [R] RewriteCond %{HTTP_USER_AGENT} J-PHONE [NC,OR] RewriteCond %{HTTP_USER_AGENT} Vodafone [NC,OR] RewriteCond %{HTTP_USER_AGENT} SoftBank [NC] RewriteRule ^$ http://www.example.com/v/index.html [R] RewriteCond %{HTTP_USER_AGENT} UP.Browser [NC] RewriteRule ^$ http://www.example.com/ez/index.html [R] --------------------------------------------------------------- 2.アップロード後「.htaccess」に名前を変更。「604」に変更。 .htaccess はTOPindex.html のみでi.ez.s各フォルダ内のindex.htmlにはおかなくても良いのですね?(あるサイトで見たものですから) http://www.xxxxxxx.com/ と言う自サイトのホームページのアドレス(URL)を統一してアクセスしてきた端末に応じて指定したページに振分けるようにする方法を以上の方法でやりましたが、何か不具合な点や設定が間違っている点を教えていただきませんでしょうか? 説明不足でわかりにくいかもしれませんがご助力よろしくお願いします。

  • .htaccess で携帯が識別されない

    .htaccess でアクセスしたときにPC用のページではなく携帯用 ブログに転送するようにしたいのですが、うまくいきません。 RewriteEngine On RewriteCond %{HTTP_USER_AGENT} DoCoMo [NC] RewriteRule ^$ http://ochatea.blog63.fc2.com/?m [R] #byDoCoMo RewriteCond %{HTTP_USER_AGENT} J-PHONE [NC,OR] RewriteCond %{HTTP_USER_AGENT} Vodafone [NC,OR] RewriteCond %{HTTP_USER_AGENT} SoftBank [NC] RewriteRule ^$ http://ochatea.blog63.fc2.com/?m [R] #by SoftBank RewriteCond %{HTTP_USER_AGENT} UP.Browser [NC] RewriteRule ^$ http://ochatea.blog63.fc2.com/?m [R] #by au のように書いたのですが 携帯からアクセスしてもPC版のホームページが表示されてしまいます。 また、 Redirect permanent /tea/ http://ochatea.blog63.fc2.com/?m と書いたらページを飛ばすことができたので.htaccess自体は 効いていると思います。 ただ上記だとパソコンからアクセスしてもブログに飛んでしまうので 携帯からアクセスした場合のみブログに飛ばすようにしたいのです。 .htaccessの書き方が問題なのでしょうか。 もしくは携帯のせいなのでしょうか。 ちなみに携帯電話はドコモのn705iです。 回答お願いします。

  • .htaccessでPCと携帯サイトを振り分けたい

    急ぎの仕事で、PCサイトと携帯サイトを振り分けなければならず、 一番使いやすそうな .htaccess を試しているところです。 いろんなサイトを見て、 (PCサイト) www.aaa.com/ から (携帯サイト) www.aaa.com/i/ に振り分ける事には成功したのですが、 携帯からでも www.aaa.com/index.html と入力すると、振り分け出来ずに そのままPCサイトが表示されてしまいます。 .htaccessの記述は以下の通りです。 RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^DoCoMo [OR] RewriteCond %{HTTP_USER_AGENT} ^J-PHONE [OR] RewriteCond %{HTTP_USER_AGENT} ^Vodafone [OR] RewriteCond %{HTTP_USER_AGENT} ^SoftBank [OR] RewriteCond %{HTTP_USER_AGENT} ^MOT- [OR] RewriteCond %{HTTP_USER_AGENT} ^KDDI [OR] RewriteCond %{HTTP_USER_AGENT} UP\.Browser RewriteRule ^$ /i/index.html [R] また、auのSH008でテストを行っております。 ここから先がどうしても分からないので、 どなたか知恵を貸していただけませんでしょうか? まだ初心者で、内容を完璧には理解できておりませんので 出来ましたら全文を記述していただけると大変助かります。 以上、よろしくお願いいたします。

専門家に質問してみよう