PCサイトと携帯サイトを.htaccessで切り分けする方法

このQ&Aのポイント
  • PCサイトと携帯サイトを.htaccessを使用して切り分ける方法について教えてください。
  • .htaccessファイルを使って、携帯からPCサイトにアクセスしてきた場合に強制的に携帯サイトにリダイレクトしたいです。
  • 質問者は.htaccessの基本を理解していませんが、どうすればうまく切り分けることができるでしょうか?
回答を見る
  • ベストアンサー

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

今、下記のようにPC用のページと携帯用のページを作っています。 (わかりにくくて申し訳ありません) aaa.bbb -index.html -.htacces | - mobile(フォルダ名)   -index.html この状況で、 携帯からPCサイトにアクセスしてきた場合に、 htaccessを使って、強制的に携帯サイト /mobile/index.html に飛ばしたいと思い、下記のような記載にしています。 (なお、ある理由により、http://www.aaa.bbbでアクセスされたものは、強制的に http://aaa.bbb にもしています) -------------------------------------------------------------- RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.aaa\.bbb)(:80)? [NC] RewriteRule ^(.*) http://aaa.bbb/$1 [R=301,L] RewriteCond %{HTTP_USER_AGENT} ^(DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank) RewriteRule ^$ /mobile/ -------------------------------------------------------------- .htaccessの基本を理解していないのが問題なのですが、 どうすればうまくできるのかご教授頂けないでしょうか? よろしくお願いします。

  • HTML
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

> どうすればうまくできるのか ということは上手く行っていないってことかしら。 私個人のサーバでテストしてみると 上記の設定で上手く行ったわよ。 もちろんドメインは変えておいたけど。 携帯はauしか手元にないので他は確認していないので 他のベンダーで上手くいくかは確認していないわ。 もう少し状況を詳しく話していただけるかしら。 フィルタリングされない携帯があるとか そういうことなのかしら。

関連するQ&A

  • .htaccessで携帯とPCの振り分け

     .htaccessで携帯サイトとPCサイトの振り分けで困っています。 .htaccessは以下の通りです。 <IfModule mod_rewrite.c> RewriteEngine On # SoftBank RewriteCond %{HTTP_USER_AGENT} ^J-PHONE [OR] RewriteCond %{HTTP_USER_AGENT} ^Vodafone [OR] RewriteCond %{HTTP_USER_AGENT} ^MOT- [OR] RewriteCond %{HTTP_USER_AGENT} ^SoftBank RewriteRule ^$ /mobile/[R=302,L] # DoCoMo RewriteCond %{HTTP_USER_AGENT} ^DoCoMo RewriteRule ^$ /mobile/[R=302,L] # au(HDML-Only) RewriteCond %{HTTP_USER_AGENT} ^UP.Browser RewriteRule ^$ /mobile/[R=302,L] # au(HTML-OK) RewriteCond %{HTTP_USER_AGENT} ^KDDI RewriteRule ^$ /mobile/[R=302,L] </IfModule>  これで、PCからのアクセスはどのページへも正常なのですが、携帯からのアクセスはhttp://example.comですとちゃんと携帯サイトのindex.htmlへいくのですが、http://example.com/***.htmlで携帯からアクセスするとPCサイトのhttp://example.com/***.htmlへつながってしまいます。この場合、携帯サイトのindex.htmlへ導くためにはどのようにすればよいのでしょうか。  また、欲を言えば、PCサイトのそれぞれのページにアクセスしてきた携帯をindex.htmlではなく、携帯サイトのそれぞれの該当するページへと導くためにはどのようにしたらよいのでしょうか。  まったくの初心者ですが、よろしくお願いいたします。

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

    下のような内容の.htaccessで、http://www.test/index.htmlに携帯でアクセスしてくるのをhttp://www.test/mobile/ に飛ばせるようにしています。ちなみに.htaccessはhttp://www.test/index.htmlの横に置いています。 ------------------------------------------ Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^(DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank) RewriteRule ^$ http://www.test/mobile/index.html [R] ------------------------------------------ しかし、これだと http://www.test/index.html に携帯でアクセスした場合はきちんと飛ばされますが、例えば http://www.test/Profile/Profile.html といった、中に入ったページに携帯でアクセスした場合、うまく飛んでくれません。 どうしたら良いのでしょうか? 宜しくお願い致します。

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

    http://○○.com/ 携帯サイトメイン       └/www/ PCサイトメイン作成中 http://○○.com/       └/www/をロリポップ利用中でをサブドメインにして http://www.○○.com/ としました。 http://○○.com/に 携帯でアクセスした場合 http://○○.com/ PCでアクセスした場合 http://www.○○.com/ としたいのです。 現在携帯サイトをメインに展開しているので、 携帯サイトをメインにしたページの振り分けの仕方がわかりません。       http://○○.com/PCサイトメイン       └/mobile/携帯サイトメイン で.htaccessの内容を RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.○○\.com)(:80)? [NC] RewriteRule ^(.*) ?http://○○.com/$1? [R=301,L] RewriteCond %{HTTP_USER_AGENT} ^(DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank) RewriteRule ^$ /mobile/ にして携帯のアクセスを振り返ることができましたが この反対にしたいのですが可能でしょうか?

  • .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でテストを行っております。 ここから先がどうしても分からないので、 どなたか知恵を貸していただけませんでしょうか? まだ初心者で、内容を完璧には理解できておりませんので 出来ましたら全文を記述していただけると大変助かります。 以上、よろしくお願いいたします。

  • .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が機能していない?

    .htaccessを初めて使用します。 利用法はサイトにきた人を携帯用とPC用に振り分けるためです。 ファイル構成は以下のようにしました。 www ├.htaccess ├index.html(PC用) └mobile─index.php(携帯用) 環境 さくらインターネット/スタンダードプラン 記述 RewriteEngine On RewriteCond %{HTTP_USER_AGENT} DoCoMo RewriteRule ^$ /mobile/ [R] RewriteCond %{HTTP_USER_AGENT} KDDI [OR] RewriteCond %{HTTP_USER_AGENT} UP.Browser RewriteRule ^$ /mobile/ [R] RewriteCond %{HTTP_USER_AGENT} J-PHONE [OR] RewriteCond %{HTTP_USER_AGENT} Vodafone [OR] RewriteCond %{HTTP_USER_AGENT} SoftBank [OR] RewriteCond %{HTTP_USER_AGENT} MOT- RewriteRule ^$ /mobile/ [R] しかし全く機能せず、全てPC用のトップにとんでしまいます。 .htaccessが機能しているかも怪しく、.htaccessに日本語を入力してもエラーすら出ません。 エラーも出ないので何が起きているかもわかりません。 .htaccessが機能しているかどうかの確認の方法と、何か考えられることがあれば教えてください。

  • .htaccess による携帯からのアクセスの振り分け方について教えてください。

    お世話になります。 急遽すぐに解決しなくてはならなくて、困っています。 よろしくお願いいたします。 .htaccess による携帯からのアクセスの振り分け方について教えてください。 .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] ---------------------------------------------------------------- こちらは問題なく動作するのですが、これですとPCで見た場合自動的にディレクトリ内の直下のindex.html に移動してしまいます。 PCで見た場合も別のファイルに移動させたいのですが、その場合どのように記述したらよいでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • .htaccess の書き方

    以下の .htaccess では、http://hoge.jp への携帯からのアクセスを http://hoge.jp/mobile ディレクトリへ転送させていますが、これを、 http://m.hoge.jp へ転送するには、どう記述を変えれば良いのでしょうか? ちなみに、使用予定のレンタルサーバでは、サブドメインつきのリクエストで 所定のディレクトリへアクセスさせるには、自分で .htaccess を書く必要が あるとのことです。(設定画面で設定できません) PC・携帯からのhttp://hoge.jp へのアクセスを、それぞれ PC: http://www.hoge.jp (/www/) 携帯: http://m.hoge.jp (/m/) という具合に振分転送させたいのですが・・・。 -------------------------------------- #携帯振り分け Options +FollowSymLinks RewriteEngine on RewriteBase / RewriteCond %{REQUEST_URI} !^/mobile RewriteCond %{HTTP_USER_AGENT} DoCoMo [NC,OR] RewriteCond %{HTTP_USER_AGENT} (J-PHONE|Vodafone|Softbank|MOT-) [NC,OR] RewriteCond %{HTTP_USER_AGENT} (KDDI|UP\.Browser) [NC,OR] RewriteCond %{HTTP_USER_AGENT} (PDXGW|DDIPOKET|WILLCOM) [NC,OR] RewriteCond %{HTTP_USER_AGENT} ASTEL [NC,OR] RewriteCond %{HTTP_USER_AGENT} L-mode [NC] RewriteRule ^(.*)$ /mobile/$1 [R,L] #「www」ありに統一 RewriteCond %{HTTP_HOST} ^(hoge\.jp)(:80)? [NC] RewriteRule ^(.*)$ http://www.hoge.jp/$1 [R=301,L]

  • .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
  • htaccessについて

    HPサイトを携帯・スマートフォンとPCで振り分けたいのですが、 htaccessがうまく機能してくれません。。 携帯でページを開いてもPC用のページが開きます。 RewriteEngine On
 RewriteCond %{HTTP_USER_AGENT} UP.Browser [NC]
RewriteRule ^$ http:// http://あどれす /mobil/index.html [R] #au 

RewriteCond %{HTTP_USER_AGENT} DoCoMo [NC]
RewriteRule ^$ http:// http://あどれす /mobil/index.html [R] #DoCoMo 

RewriteCond %{HTTP_USER_AGENT} SoftBank [NC]
RewriteRule ^$ http://あどれす /mobil/index.html[R] #SoftBank RewriteCond %{HTTP_USER_AGENT} iPhone [NC]
RewriteRule ^$ http:// http://あどれす /mobil/index.html[R] #iPhone RewriteCond %{HTTP_USER_AGENT} iPod [NC]
RewriteRule ^$ http:// http://あどれす /mobil/index.html[R] #iPod RewriteCond %{HTTP_USER_AGENT} Android [NC]
RewriteRule ^$ http:// http://あどれす /mobil/index.html[R] #Android 以上を記入したのですが、どうして出来ないのかわかりますでしょうか。 .htaccessはPCのindexと同じ階層です。 PCの階層にmobilのファイルがおいてあります。 よろしくお願いします