• ベストアンサー

User Agentでの振分けについて

プログラム超初心者ですがよろしくお願いしますm(__)m 既存サイトでPC・スマホ・ガラケーで、User Agentで振り分け、別ディレクトリに飛ばしたいのですが、サーバーの規定でhtaccessを使用することができません。 他に方法がありますか? PC・スマホの振り分けではよくJavascriptで記述しているのですが、ガラケーはJavascriptの動かないものが多いのではと思っております。 サイトはHTMLで作成しており、PHPやASPのファイルにはしたくないです。

  • CSS
  • 回答数1
  • ありがとう数11

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

javascriptが使えない前提でページをかき つかえる環境のブラウザを別ページに飛ばせばよいでしょう もしくはnoscriptタグのなかでmetaタグで飛ばす手も考えられます <noscript> <meta http-equiv="refresh" content="0;URL=hoge.htm"> </noscript> いずれにしても環境依存なので、きっちりやるなら トップページにPC用、スマホ用、ガラケ用のページへのリンクを貼り ユーザーに任意で選ばせることです

piyodama
質問者

お礼

なるほど、使えない前提で作成したページをトップに持ってきてしまえばよいですね。 noscriptの中で飛ばす方法も思いつきませんでした。 ただ、やはりユーザーに選ばせるのが安全そうですね。。 大変参考になりました。ありがとうございます。

関連するQ&A

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

    WEBサイトの振り分けについてご教授いただきたいと思い、投稿しました。 ○ドメインと各サイトの設置位置です。 ドメイン:http://abc.com モバイルサイト:http://abc.com/ PCサイト:http://abc.com/pc/ スマホサイト:http://abc.com/pc/sp/ ※最初にモバイルサイトを作成してしまい、PCサイトとスマホサイトが変な位置にあります。 .htaccess、JavaScriptで振り分けを行ってみたのですが、うまくいかない状況です。 ○やりたいこと モバイルサイトに PCからアクセス→PCサイトへ スマホからアクセス→スマホサイトへ PCサイトに モバイルからアクセス→モバイルサイトへ スマホからアクセス→スマホサイトへ スマホサイトに モバイルからアクセス→モバイルサイトへ PCからアクセス→PCサイトへ ネットでいろいろ調べたのですが、うまくいきません。 上記のやりたいことを実現するには、どのように記述すればよろしいでしょうか。 トップページだけの振り分けを考えております。 お詳しい方がいらっしゃいましたら、 .htaccessもしくはJavaScriptでのご教授をお願い致します。 どうぞ宜しくお願い致します。

  • .htaccessによる携帯のアクセス振分けについて

    .htaccessによる携帯のアクセス振分けについて .htaccess で携帯とパソコンの振分けを行ったのですが http://*******.com/ を携帯からアクセスした場合はちゃんと携帯サイトへ振り分けられますが http://*******.com/index.html と ドメインの後ろにファイル名が入ったURLに アクセスすると振分けが行われずパソコンのサイトを表示してしまいます 参考サイトには 「「.htaccess」ファイルは設置したディレクトリ以下全てに影響します。」 と書いてあります 参考サイト: http://www.w3lab.jp/htac/keitai.html どのファイルやディレクトリにアクセスをしても 携帯サイトに振り分けられるようにしたいのですが どのようにしたらいいでしょうか? よろしくお願いいたします .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} UP.Browser RewriteRule ^$ /mobile/index.html [R] ------------------------------------------------------------

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

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

    .htaccessで携帯サイトとPCサイトの振り分けについて お世話になります。 .htaccessで携帯サイトとPCサイトの振り分けで困っています。 現在、index.phpで携帯サイトとPCサイトの振り分けしています。この場合、PCサイトのトップページがindex.htmlではなく他の名前にしなくてはならないようで、現在はpc.htmlにしています。 どうにかpc.htmlではなく、index.htmlのまま携帯サイトとPCサイトの振り分けをしたいのです。 .htaccessであればできそうなので、いろいろと調べながら試したのですがうまくいきませんでした。 使用しているサーバーはさくらのレンタルサーバーで、ライトプランです。 mod_rewriteは入ってると記載してありました。.htaccessもOKなようです。 以下のように.htaccessファイルに記述して試しました。 例1) RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^DoCoMo [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^vodafone [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^SoftBank [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^KDDI [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^J-PHONE [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Up.Browser [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^ASTEL [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^DDIPOCKET [NC] RewriteRule ^$ abc.com/m/ [R] 例2) Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_USER_AGENT} DoCoMo RewriteRule ^$ http://www.abc.com/m/index.html [R] RewriteCond %{HTTP_USER_AGENT} J-PHONE RewriteRule ^$ http://www.abc.com/m/index.html [R] RewriteCond %{HTTP_USER_AGENT} UP.Browser RewriteRule ^$ http://www.abc.com/m/index.html [R] 素人ですので、できましたら記述全文教えていただけるとありがたいです。 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • htaccessでPCと携帯の振り分け(難あり)

    パソコンと携帯の振り分けは、htaccessでエージェントにより振り分けが一般的だと思います。 「RewriteEngine on」で振り分けの場合について。 http://www.hogehoge.com/ http://www.hogehoge.com/mobile/ トップディレクトリにhtaccessを設置した場合、携帯サイトが入っている「mobile」ディレクトリには、「RewriteEngine Off」を記述したhtaccessを設置する必要があります。 普通であれば、これで問題なくパソコンと携帯を振り分ける事ができるのですが、携帯サイトが入っている「mobile」ディレクトリには、動的アドレスを静的に変更するために、htaccessに「RewriteEngine on」が記述されています。 よって、パソコンと携帯の振り分けを無効にするために「RewriteEngine Off」をしなければならないのに、動的アドレスを静的にアドレスにするために、「RewriteEngine on」も記述しなければなりません。 パソコンと携帯の振り分けと、動的を静的にする変換を行うような良い記述方法はあるでしょうか? ちなみに、パソコントップページはすでに検索エンジンに登録されているため、振り分け用のindex.cgiなどは使用したくないと思っています。 アドバイスをお願い致します。

    • ベストアンサー
    • HTML
  • 携帯と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
  • htaccessとJavascriptでの振り分け

    いつもお世話になっています。 現在htaccessでキャリア判別+ RewriteCond %{QUERY_STRING} !mode=pc のような感じで、スマホ端末をspフォルダへ振り分けています。 そこにスマホでもPC版を見たい方のために、 http://hogehoge.jp?mode=pc という形でPC版を見れるようにしています。 ここまでは理解でき、設定もできているのですが、 http://hogehoge.jp?mode=pc と言うのは、スマホサイトからのリンククリックの時にmode=pcになるだけで、 PC版に移動した後に、さらに別の詳細ページなどに移動しようとすると、 またhtaccessが効いて、spフォルダへ再転送されてしまいます。 スマホからPC版へ移動した場合に、 そのセッション中だけは、PC版を見続けられるようにできますでしょうか? phpは使っていません。 HTML,Javascript、htaccessの組み合わせで回避できるようにできますでしょうか?

  • PCサイトと携帯サイトの振り分け

    PCサイトと携帯サイトの振り分けをしたく、いくつかサイトを調べ .htaccess で以下のようにファイルを作り設置しました。 /////////////////// RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^(DoCoMo|KDDI|DDIPOKET|UP.Browser|J-PHONE|Vodafone|SoftBank) RewriteRule ^$ /m/ [R] /////////////////// ディレクトリ構成は ├ index.html(PCサイトトップ) ├ .htaccess ├ m(ケータイサイト用フォルダ) ├ ├ index.html(ケータイサイトトップ) ├ ├   ├ ガラケーでみると以下のようなエラーになってしまいます。 /////////////////// Not Found The request URL /m/ was not found on this server. /////////////////// 解消方法なにがご存知でしたらお知らせください。

    • 締切済み
    • CSS

専門家に質問してみよう