• 締切済み

.htaccessでの振り分け

.htaccessでのPC・携帯からのアクセスを振り分ける方法を教えてください。 PC用URLが、hoge.com/pc/index.html 携帯用URLが、hoge.com/index.html にしたいと考えています。(既に携帯用ページは存在し、モバイルクローラーも回ってきている為、PC用ページのurlを/pc/にしたいため) 多くの過去質問、webサイトでは、携帯からのアクセスを/m/などの下位層へふるものはありましたが、PCアクセスを下位ディレクトリに振る方法を教えてください。 ※参考URLまたは、.htaccessの具体的な記述を教えてください。

みんなの回答

noname#100277
noname#100277
回答No.1

単純にUAを取得して各々振り分けたら良いのでは? IPだと膨大に成るので、UAなら少なくて済む。

4562258
質問者

お礼

やってみます。ありがとう御座います

関連するQ&A

  • .htaccessを使った、携帯の振り分け

    サイトの.htaccessを使った、携帯とPC用ページの振り分けについてです。 サイト(http://~.com/)にアクセスした時に RewriteEngine on RewriteCond %{HTTP_USER_AGENT} "DoCoMo" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "J-PHONE" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "KDDI" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "UP.Browser" [NC] RewriteRule ^$ m/ [L] と、上のように.htaccessで携帯でアクセスしたときは(http://~.com/m/)飛ばすようにしました。 トップページはうまく表示できたのですが、そこから(http://~.com/m/)以下のディレクトリに行けません。 (パスは絶対パスではなく相対パスです) どうやら(http://~.com/m/)自体に飛んでるのではなく、(http://~.com/)で(http://~.com/m/)の内容を表示しているようです。 (http://~.com/m/)自体に飛ばすにはどうすればいいのでしょうか? よろしくお願いします。

  • htaccessによる端末ごとによる振り分け

    htaccessによる振り分けに関しまして、 PC:/ スマートフォン:/sp/ モバイル:/m/ 端末ごとに振り分けを行いたいです。 ■PC では、/sp/フォルダ、/m/フォルダにアクセスしても、 URLから、各フォルダが除かれ、PCファイルが読み込まれます。 ■スマートフォンでは、/sp/フォルダが入っていないときは、 問題なく、URLに/sp/が加わり、スマートフォンサイトが読み込まれます。 ですが、http://○○.com/m/index.php等でアクセスを行うと、 http://○○.com/sp/m/index.phpのようなURLになります。 ※これは、http://○○.com/sp/index.phpへアクセスしてほしいです。 ■モバイルでは、/m/フォルダが入っていないときは、 問題なく、URLに/m/が加わり、モバイルサイトが読み込まれます。 ですが、http://○○.com/sp/index.php等でアクセスを行うと、 http://○○.com/m/sp/index.phpのようなURLになります。 ※これは、http://○○.com/m/index.phpへアクセスしてほしいです。 ■モバイル・スマートフォンのリダイレクトに関しまして、 改善するためのご意見をお願い致します。 よろしくお願い致します。 ■htaccessの中身です。 RewriteEngine on #スマートフォン RewriteCond %{REQUEST_URI} !/sp/ RewriteCond %{HTTP_USER_AGENT} (iPod|iPhone|iPad|Android|Windows\ Phone) RewriteRule ^(.*)$ sp/$1 [R] #RewriteRule ^(.*)$ sp/ [R] RewriteBase / #モバイル RewriteCond %{REQUEST_URI} !/m/ RewriteCond %{HTTP_USER_AGENT} (DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank) RewriteRule ^(.*)$ m/$1 [R] #RewriteRule ^(.*)$ m/ [R] RewriteBase / #PC RewriteCond %{REQUEST_URI} /sp/ RewriteCond %{HTTP_USER_AGENT} !(iPod|iPhone|iPad|Android|Windows\ Phone) RewriteRule ^sp/(.*)$ $1 [R] #RewriteRule ^sp/(.*)$ / [R] RewriteBase / #PC RewriteCond %{REQUEST_URI} /m/ RewriteCond %{HTTP_USER_AGENT} !(DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank) RewriteRule ^m/(.*)$ $1 [R] #RewriteRule ^m/(.*)$ / [R] RewriteBase /

  • .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の書き方-PCページと携帯ページの振り分け

    .htaccessの書き方-PCページと携帯ページの振り分け 色々と探してみましたが、目的の情報にたどり着けなかったので、質問させて頂きます。 携帯サイトのURLが www.abc.com/ として、 PCページを www.abc.com/pc/としました。 .htaccessで振り分けるにはどのような記述が必要なんでしょうか? 完全な素人なので、全文を教えて頂けると助かります。 ブラウザで振り分ける場合、IE、firefox、safari程度ブラウザをPC用へ振り分けでOKです。 ※注:探してみたところ、/mobile/などに振り分ける方法は多数書かれていました。ここでは、パソコンからの閲覧ページを下位階層に設置したケースでの回答を頂きたいです。

  • 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を使用したいのですが・・・ よろしくお願いします。

  • .htaccessによるアクセスについて

    すみません。 急ぎで対応したいことがあり、教えていただきたく参りました。 WordPressでKtaiStyleと言うプラグインを利用して、 携帯サイトを構築しました。 閲覧は携帯からのアクセスのみに限定したくて、管理はPCでと 思っています。 WordPressのインストールディレクトリ(携帯でhttp://xxxx.com)として 最初に見えるページ(トップページ)に携帯からのアクセスのみ 許可する.htaccessをおきました。これにより、携帯からは閲覧できて、 PCから閲覧は出来なくなりました。目的の半分は達成です。 次に、管理画面にPCからアクセスしたいのですが、 管理画面のディレクトリは1階層下にあります。 管理画面のアドレスを直接PCブラウザに入力しても、上のディレクトリに 設置してある.htaccessが効いていて表示がされません。 \root ・・・ ドメインルート \root\admin ・・・管理画面ディレクトリ として、 1.ドメインルートに設置のhtaccessを編集 2.adminディレクトリにもhtaccessを設置 上記、どちらの方法が良いと思われますか? また、.htaccessにはどのように記述したらよいでしょうか。 よろしく、ご教授お願いします。

  • php化して、.htaccessでリダイレクトしたが、index.phpが強制的に表示されてしまう

    1.トップページをhtmlからphpに変更しました。 旧)http://www.hoge.com/index.html 新)http://www.hoge.com/index.php 2.「.htaccess」に301リダイレクトを記述しました。 Redirectpermanent /index.html http://www.hoge.com/index.php 3.困ったこと http://www.hoge.com/ でアクセスしたときに http://www.hoge.com/index.php に転送されてしまう。 できれば、 http://www.hoge.com/ このまま表示してほしいんですが、 .htaccessの記述に問題があるのでしょうか? すみません、分かる方には簡単なのかもしれませんが、 教えて頂ければ助かります。

    • 締切済み
    • PHP
  • 携帯サイトの振り分けについて

    説明がややこしかったらすみません。 現在、既存のPCサイトに合わせて新規の携帯サイトを作っています。 PCサイトのURL(index.html)にアクセスをしたときに 携帯からのアクセスは(/mobile/index.html)などに飛ばしたいと考えています。 htaccessでの振り分けを考えていましたが、 サーバーがhtaccessの使用ができないみたいで困っています。 PCサイトの(index.html)は URLの変更はできませんので index.phpなどをおいて 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の有効範囲について .htaccessの有効範囲について疑問があります。設置されたディレクトリと、そのディレクトリ以下の全てのディレクトリに対して有効であるとの認識です。 http://example.com/.htaccess これは、 (1)http://example.com/にアクセスしてサーバーの設定によりhttp://example.com/index.htmlが表示された場合 (2)http://example.com/index.htmlに直接アクセスした場合 (3)http://example.com/abc/xyz.htmlにアクセスした場合 この3つ全てに適用されますよね? 私はそうだと思っていたのですが、実際は(1)の場合しか効果を発揮していません。 ということは、最後が/で終わるアドレスにしか有効ではないのでしょうか? そう言われると、「設置された"ディレクトリ"と、そのディレクトリ以下全ての"ディレクトリ"に対して有効」という文言もそういうことかというように読めるのですが、腑に落ちません。 もちろん私の.htaccessの書き方に問題がある可能性もありますが、その可能性を除いた場合、効果範囲はどうなるものなのでしょうか。 ご回答宜しくお願いいたします。 ちなみに、.htaccessの内容はユーザーエージェントを用いた携帯からのアクセスのリダイレクトです。 先日この件で質問をさせていただきまして、更に調べたところ上記のように効果範囲が限定されていることに気付きました。

    • ベストアンサー
    • HTML