- 締切済み
PCサイトを国内閲覧拒否、モバイルのみ閲覧可能に
日本以外の海外で言語別に振り分けるサイトの準備をしています。 ただ、モバイルのみ国内閲覧可能なサイトを準備したいと考えています。 今悩んでおりますのは、 1)htaccess等を利用してPCサイトの国内からのアクセスを拒否、海外アクセスのみの状態。 2)その状態で、同一ドメイン上のサブディレクトリにあるモバイルサイトのみ国内閲覧可能な状態 URLの例で言いますと http://www.○○○.com/ > 国内閲覧拒否(PCサイト) http://www.○○○.com/i/ > 国内閲覧可能(モバイル&スマホ) htaccessを調べてはいるのですが、はじめに国内閲覧拒否してしまっている状態で、サブディレクトリのモバイルには国内からは飛ばせないような気がするのですが。 記述などの助言をいただけると幸いです。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- EF_510
- ベストアンサー率50% (306/604)
>日本割当IPの内、スマホ、携帯アクセスのみ許可するのは、可能でしょうが、かなりメンテナンスにワークロードがかかりますね。 >iptablesと.htaccessの併用が良いと思いますが、固定iPアドレスが2個必要になります。 >併用をすすめるメリットは、レスポンスにあります。 > >他の方の妙案を期待します。 iptablesが使える=root権がある、状態なので無理に「.htaccess」でやらなくても良いです。httpd.confが設定できるのであればそちらで設定した方が良いからです。 IPアドレスが2個だろうが10個だろうが同じホスト名で呼び出されるのでは規制の方法は変わりません。 iptablesはこの場合不適切かと思います。 国内・外のアドレスだけであれば比較的簡単にメンテナンスできますがスマートフォンなどを含んでしまうとIPアドレスでは規制できない(一般のプロバイダから無線LANなどでアクセスされたら?)のでブラウザのエージェントも同時に判定するなどの方法を採る必要があります。 結局の所、この規制を実現するにはアクセスしてくるエージェントを見るしか無さそうなのでサーバーの「設定」で規制を掛けるのはかなり困難かと思われます。
- nolix
- ベストアンサー率19% (110/572)
日本割当IPの内、スマホ、携帯アクセスのみ許可するのは、可能でしょうが、かなりメンテナンスにワークロードがかかりますね。 iptablesと.htaccessの併用が良いと思いますが、固定iPアドレスが2個必要になります。 併用をすすめるメリットは、レスポンスにあります。 他の方の妙案を期待します。
- EF_510
- ベストアンサー率50% (306/604)
もし、サーバーのhttpd.confを操作できるのであればそちらに記述した方が良いです。 httpd.confと.htaccessでは同じ記述が利用できますがこちらの場合はディレクトリごとに明確な設定が可能です。 <Directory www.○○○.com/> AllowOverride None Order Allow,Deny Deny … </Directory> <Directory www.○○○.com/i/> AllowOverride None Order Allow,Deny Allow … </Directory>
- EF_510
- ベストアンサー率50% (306/604)
どうやって国内外の判断をしているのでしょうか? 最初に呼び出されるページで動的に判断させた方が良いと思います。 http://www.○○○.com/ で閲覧可能端末から来たときに/i/にリダイレクトさせるようにプログラムしてやると良いでしょう。 .htaccessを使用するとリクエストごとに処理されるのでサーバーの負荷が増大します。 また下位のディレクトリにも適用されていくので判断の設定が複雑になります。
補足
ご回答ありがとうございます。 国内外の判断ですが .htaccessを用いて、日本に割り当てられているIPアドレスをすべて拒否する、という設定をしています。国内閲覧不可で海外で閲覧可能な状態を確認できています。 http://q.hatena.ne.jp/1285346401