• 締切済み

デバイスごとにリダイレクト先を分ける方法

現在、PC用のページがあり、そのhead内に <script type="text/javascript"><!-- if(navigator.userAgent.match(/iPhone|iPod|Android/)){ location.href = 'スマホ用URL'; } --> </script> という記述をし、スマホからのアクセスの場合、スマホ用のページへリダイレクトされるようにしています。 これを 空のHTMLページを作り、そのページにアクセスがあった時に、 PCからアクセス→PC用のページにリダイレクト スマホからのアクセス→スマホ用のページにリダイレクト という風にしたいのですが、可能でしょうか?

みんなの回答

  • t_ohta
  • ベストアンサー率38% (5085/13292)
回答No.1

これでいいと思います。 ========== <script type="text/javascript"> if(navigator.userAgent.match(/iPhone|iPod|Android/)){ location.href = 'スマホ用URL'; } else { location.href = 'PC用URL'; } </script> ==========

関連するQ&A

  • UAによるリダイレクト

    スマートフォンからのアクセスを他のページに飛ばすために どうにか方法がないかと思って、いろいろ調べて勉強しております。 そこで以下のような記述でできることが分かったのですが、 javascriptなどについて詳しくないため、-1や0の意味が分かりません。 -1、0はどういう意味なのでしょうか? <script type="text/javascript"> if (document.referrer.indexOf('muay-thai-pck.com') == -1 && ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0)) { location.href = 'url'; } </script>

  • javascriptでスマートフォン・PC分岐

    PC用のサイトとスマートフォン用のサイトをそれぞれ作り、アクセスをjavascriptで振り分けたいと考えています。 PC用とスマートフォン用のURLはあいだに"i"をはさむ違いだけです。 http://www.hoge/cate1/post_001.html http://www.hoge/i/cate1/post_001.html いろいろ調べた結果、トップページは下記でうまく行きました。 <script type="text/javascript"> if ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) { location.href = '/i/'; } </script> 問題は個別ページがうまく行きません。自分なりに調べて下記のように書きました。 <script type="text/javascript"> if ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) { location.href = '/i/location.pathname'; } </script> ところがこれではhttp://www.hoge/i/location.pathnameに行ってしまいダメです。 なぜダメなのでしょうか? この場合、どのように記述すれば良いか教えてください。 PHPとCGIとかはさっぱり判らないのでその選択肢はありません。 よろしくお願いします。

  • スマートフォンサイトへのリダイレクト

    javascriptでスマートフォンサイトへのリダイレクトを行いたいです。 こちらを参考にしましたが、うまく動作しません。 参考サイト http://helog.jp/hp/smartphone/1095/ ---------------------------------------------------------------- <script type="text/javascript"> var agent = navigator.userAgent; if(agent.indexOf('Linux; U; Android ') != -1 || agent.indexOf('iPhone; U') != -1 || agent.indexOf('iPad; U') != -1){ location.href = '/smartphone/'; } </script> ---------------------------------------------------------------- ちなみに私のサイト構成は以下のとおりです。 index.html←ここのheadに上記javascriptを書きました。 smartphone/index.html←上のindexにアクセスされたときに、ここに飛ばせたい。 詳しい方がいましたらよろしくお願いします。

  • Safariを判別し別ページに飛ばすには

    javascriptでブラウザを判別して、ブラウザによって違うページに飛ばしています。 基本的にはIEとそれ以外なのですが、Safariだけが別ページに飛んでくれません。(index.htmlにいたままになる) 下記のようにしていますが、どうすれば飛ぶようになるでしょうか? よろしくお願いします。 <script type="text/javascript"> if(navigator.userAgent.indexOf("MSIE") != -1){ window.location.href = "index.html";}     : else if(navigator.userAgent.indexOf("safari") != -1){ window.location.href = "index2.html";} </script>

  • PC用のサイトとスマートフォン用のサイトの振り分け

    以前、このサイトで検索して、トップページは <script type="text/javascript"> if ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) { location.href = '/i/'; } </script> でできました。 ですが、最近、スマートフォンを新しくしたら、トップページが表示されなくなってしまいました。 どうしてでしょう? あと、トップページ以外のページはどのように振り分けをすればよいのでしょうか? よろしくお願いします。

  • ホームページ スマートフォン PC 振り分け

    初質問でつたない文章ですが、ご回答のほどよろしくお願い致します。 【質問】 スマホからスマホ版ページに飛び、PC版へのリンクを押した場合はPC版を閲覧出来るという設定はjavascript利用で行えないでしょうか? そんなめんどくさい事をするならhtaccessを利用した方がいいのでしょうか? htaccessでもそういった設定は難しいのでしょうか? 【現状】 PC版とスマホ版のウェブサイトを作り、htmlを書き足してjavascriptで振り分ける方法にしました。振り分けは問題なくできています。 【問題点】 スマホ版ページに「PC版」と文字を書いて、スマホでPC版を見たい人が飛べるようリンクを貼ったのですが、当然の事ながらスマホはスマホとして認識されるので、上記のhtml記述ではPC版に飛べません。 スマホでスマホ版ページの「PC版」という文字を押しても今居るスマホ版ページに飛ぶだけで、ひたすらループするのみです。 ーーーーーーーーーー関連個所ーーーーーーーーーー <script type="text/javascript"> if ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) { location.href = 'sp'; } </script> ーーーーーーーーーーーーーーーーーーーーーーーー 拙い文章失礼しました。 よろしくお願いします!!

  • JavaScript、動作解説のおねがい!

    こんにちは。お世話になります。 次のJavaScriptは、どういった事(何を)するものか、おしえてください。 <script type="text/javascript"> //<![CDATA[ if ((top != self) && location.href.match(/^http:\/\/[\d]+\.[\d]+\.[\d]+\.[\d]+\/translate_c/)){ if ( navigator.appName == 'Netscape' && parseInt(navigator.appVersion) == 6 ) { top.location.replace(location.href); } else { top.location = location.href; } } //]]> </script> よろしくお願いします。

  • ホムペ作成・スマホ・モバイル・PC切り替え

    ホームページを自作で作成し、完成したのですが 現在、スマホとPCのきりかえするボタンを こちらのタグにて設定しました。 <script type="text/javascript"> // iPhoneまたは、Androidの場合は振り分けを判断 if (document.referrer.indexOf('本サイトのアドレス') == -1 && ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0)) { if(confirm('スマートフォン用サイトを表示しますか?')) { location.href = '携帯サイトのアドレス'; } } </script> しかし、ガラケーで見ると、PC版、スマホ版、どちらもデザインが崩れていて見にくい状態です。 それにこのジャバスプリクトはガラケーでは表示されません。 そこで詳しい方に質問なのですが、ガラケーで、わたしのホームページにアクセスした場合 アメブロに飛ぶように設定などできませんか? またこのような「スマートフォン用サイトを表示しますか?」というようなコメントも出すことは可能でしょうか?

  • SSIでリダイレクトできないでしょうか?

    あるページにアクセスがあったら、IPアドレスをチェックして特定のIPアドレスからのアクセスのみ他のページにリダイレクトし、こういう処理をしたというログを保存したいのですが、方法がわかりません。 現在は、SSIで呼び出したスクリプトでIPチェック後、該当すればJavascriptのtop.location.hrefを書き出しています。この方法だとJavascript自体をOFFにされると機能しません。 METAタグのREFRESHではページをロードしてからのリダイレクトになってしまいます。 ページへのリンク自体をCGIへのリンクにしてLocationヘッダを出力すればいいのでしょうが、直接ページにアクセスされるとこの手も使えません。 .htacceessでdenyして、403のエラードキュメントとして上記の処理をするページを作ってみましたが、このエラードキュメント自体にアクセスできません(denyしているので当たり前ですね)。 何かいい方法はないでしょうか?

    • ベストアンサー
    • CGI
  • ブラウザを調べて分岐させる方法

    こんにちは。 Javascriptでユーザーの閲覧環境(OS、ブラウザ)によって 違うページを見せたいんです。 Win・Macの違いについては <script language="JavaScript"> var ua = navigator.userAgent if( ua.indexOf("Mac") != -1 ){ location.href = 'mac_home.html' } else { location.href = 'win_home.html' } </script> で解決したのですが、IE、NNでの分岐のかけ方がわかりません。 同じような方法でできるらしいのですが、何度やっても失敗してしまって、 NNで閲覧しているのに、elesで指定したURLにジャンプしてしまったりします。 どなたかわかる方がいらっしゃいましたら教えてください。 お願いします。