• ベストアンサー

PC・携帯コンテンツの振り分け方法について

こんにちは。 同じドメイン(http://www.???.com/index.html) →PCと携帯コンテンツに振り分けるといった、 アクセス元によってコンテンツの内容を振り分ける ことは可能でしょうか。(CGIを利用するのでしょうか。) ■サーバー WebARENA Suite ■.htaccess 使用(設定)可能 ■CGI 独自のものが使用可能 ■SSI ただし「exec」コマンドは不可 以上の条件で、実現できる方法を教えていただけますか。 どうぞ宜しくお願いいたします。

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

  • ベストアンサー
  • 428-564
  • ベストアンサー率100% (1/1)
回答No.3

index.htmlのままと言うことなので・・・ フレームを使う方法をご紹介します。 PCで表示させたいページをフレーム内に表示するように仕向け、フレーム非対応(携帯端末など)をnoframes要素に記述する方法をとります。 これをタグで書くと・・・ <html> <head> <title>PCと携帯のページをフレームを使って分岐する</title> </head> <frameset rows="0,*"> <frame src="dummy.html"> <frame src="top.html"> <noframes> <body> ここに携帯端末用ページを記述 </body> </noframes> </frameset> </html> すごく原始的ですが、ある程度分岐は可能です。 この方法のメリット・デメリットは・・・ ○携帯端末だけでなく、フレーム非対応ブラウザでも表示可能になる。 (noframesの本来の目的はフレーム非対応ブラウザでのページ表示ですから当然ですね) ○CGI使用時と比較するとサーバにとって低負荷である。 (端末側でフレーム対応/非対応の分岐がなされるため) ×携帯端末にとってはnoframes要素の中身だけが必要なのでframeset要素内のデータは足かせになる。 (パケットのムダ使いになる) ×携帯版TOPページが常にこのindex.htmlに固定される。 (PC版にとってはフレーム宣言のためのページなので忘れられやすい) ・・・と言った具合です。 この方法でD900iとOpenwaveSDK 6.2K(AU端末のエミュレータ)で分岐を確認しましたが、他は私自身が端末を持っていないため確認できていません。 ・・・参考になりますかね。^^;

cgi_syoho
質問者

お礼

こんばんは。 アドバイスをどうもありがとうございます。 大変参考になりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • canaanium
  • ベストアンサー率47% (106/224)
回答No.4

こんにちは。 index.htmlのまま振り分ける…というと、同じページを閲覧するのに何のために振り分けるのか、その必要性がわからないのですが。 つまり訪問者にアクセスしてもらう大元のページがindex.htmlで、そこから「携帯のかたはコチラ」などのリンクを設けないで自動的に携帯からのアクセスだけを携帯専用ページへ移動させる、ということですよね? .htaccessを使えば特定のドメインからのアクセスを許可したり、または拒否したりということができます。 また、アクセスしてきた訪問者を任意のページに飛ばすことができます。 これらを利用すればパソコン用のindex.htmlページと携帯用のindex2.htmlページを作っておいて携帯からのアクセスをindex2.htmlへ飛ばすことができると思います。 実は私もこういったページを作りたくて、ただいま構文を調べています(もし、おわかりの方がいらっしゃれば代わりに回答していただけると助かります) きちんとした回答になっていなくて申し訳ないのですが、取り急ぎ、ヒントになればと思い投稿いたしました。 構文がわかりましたら補足させていただきます。

cgi_syoho
質問者

補足

こんばんは。 アドバイスをどうもありがとうございます。 >.htaccessを使えばパソコン用のindex.htmlページと携>帯用のindex2.htmlページを作っておいて携帯からのア>クセスをindex2.htmlへ飛ばすことができると >思います。 →おっしゃるとおりだと思います。ただ、携帯の中でも、キャリア別に振り分ける必要があります。 (知り合いのウェブプログラマーから聞いたのですが、)そうなるとやはりCGIが必要ですが、僕の場合は残念ながらSSIの「exec」コマンドは不可であるため「難しい」といわれました。 僕は「http://www.bayashi.net/st/pdmemo/pckt.html」のように実現したかったのですが。。。 いい加減な補足ですみません。

全文を見る
すると、全ての回答が全文表示されます。
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

Javascriptのユーザーエージェントを調べて振り分けること・・・ っと、そういえば携帯ってJavascriptが使えないんだった(ハズ) これを逆手にとって、分ける手もありますが。。。 たしかMETAで飛ばすとかもできるはず。携帯でMETAは無効なはずだから。。 情報が古いので今の機種に通じるかは不明。

cgi_syoho
質問者

お礼

こんばんは。 アドバイスをどうもありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • hime_mama
  • ベストアンサー率32% (1543/4717)
回答No.1

index.cgiで設定すれば、振り分け可能です。 (私もArena使ってます。) フリーCGIですと、下記のものがすべての機種に対応しています。 http://specters.net/cgipon/indexo/

参考URL:
http://specters.net/cgipon/indexo/
cgi_syoho
質問者

補足

アドバイスをどうもありがとうございます。 >index.cgiで設定すれば、振り分け可能です。 →「index.html」のままできる方法はありますか。 どうぞ宜しくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • URL リダイレクト

    htmlアクセス時においてURLリダイレクトする方法についてお伺いします。 htmlの<meta refresh=..>やjavascriptのlocation.replace、.htaccessのredirectとリダイレクトの方法はいろいろあるようですが、今回はcgi+ssiで実現したいと思っています。 そこで質問なのですが、htmlからSSIを使用して<--!exec cgi="./redirect.cgi"-->のようにしてリダイレクトさせるにはどうすればよいのでしょうか。 cgiではhttpdヘッダのlocatinでURLを指定することで、リダイレクトは可能だと思います。 そしてそのリダイレクトするcgiを直接呼び出したり、フォームで呼び出すことでの動作は正常に確認しました。 しかしhtmlからSSIのexecやvirturlなどを使用してのリダイレクトがどうしてもできません。もちろんSSI,EXEC使用可能なサーバーです。 どうぞよろしくお願いします。

    • 締切済み
    • CGI
  • PCと携帯の振り分けCGI

    この前にも質問をしてしまいましたが・・・ PCからのアクセスを完全拒否したいのです。 いろいろ探しても完全制限となると、なかなか見つかりません。 どこも、index.cgi以外のアクセスが可能になっております。 それでは、やはり意味がないので・・・ フリーソフトで、index.cgi以外でもアクセス拒否できるようなCGIプログラムがある サイトありますでしょうか?? ちなみに、i-mode、EZweb、J-skyに対応していたら助かります。 サーバーはCGI、SSIなど、けっこう幅広く活用できます。

    • ベストアンサー
    • CGI
  • ホームページPC/携帯自動振り分け

    クライアントのホームページを作成しておりますが、 某レンタルサーバ・独自ドメインでPC用HP運営中です。 携帯用サイトも作り、同アドレス「www.○○○.com」で自動振り分けしたいと思います。 PC用のトップページは「index.html」のままにしたいのですが、 当初、phpにて行おうと取り組みましたが、 サーバ側の.htaccessの規制により indexファイルの順位を変えることが出来ないようで、 (.htaccessを書き換えたらエラーに)一度断念しました。 何か良い方法(php以外でも)はないでしょうか? ■.htaccess 利用可能なディレクティブはAuthConfigとLimitのみ ■indexファイルの優先順位 index.html/index.htm/index.cgi/index.php/index.shtml/index.wml/index.hdml  ■php、perl、CGI使用可能 ◎希望条件・・PC用のトップページは「index.html」 以上、宜しくお願いいたします。

  • ssiのexecコマンドの代替は「<img src=~」でOK?

    近日中にサーバの移転を考えております。 現在使用しているサーバは、SSIのEXECコマンドをが使用可能なので、htmlページ中に埋め込んで使用しています。 ですが、移転を考えているサーバはセキュリティーの問題からEXECを使用禁止にしています。 いろいろと調べてみると、「<img src=~」で代替可能なような記載をみたのですが、基本的に問題はないですか? ◆ <!--#exec cmd="~" --> ◆ <!--#exec cgi="~" --> 例えば<!--#exec cgi="./abs/hoge.cgi" -->を<img src="./abs/hoge.cgi">としても問題ないでしょうか? 一応、imgタグを使用した方法でもテストしてみましたが、動作していたように思います。 今後execの使用をする、CGIやPHPプログラムをサイトに取り入れる場合は、SSIのexecコマンドを使用せずに、imgタグで代用ができるようであれば、新サーバへの移転を使用と思っています。 専門の方からみて、execコマンドが使用できないサーバは、今後の事を考えると控えた方が良いでしょうか? execコマンドの代用として、別のコマンドがあるのであれば、お教え下さい。 execコマンド利用可能なサーバから、利用不可のサーバへと移転を検討しているため、アドバイスを頂けると助かります。 よろしく御願いします。

    • 締切済み
    • PHP
  • アクセス解析 フレーム SSI .htaccess

    CGIでアクセス解析を作りました。 SSIが使えないので、メニューフレームをCGIで作りました。 しかし、リファラが全てindex.htmlになってしまいます。 これではアクセス解析の意味がありません。 うちのサーバーは .htaccess SSI が使えません。 アドレスをindex.cgiに変えてしまうのはなるべくなら避けたいです。 どうすればきちんとリファラがとれますか?

    • 締切済み
    • CGI
  • pcと携帯の自動振り分け

    http://xxx.xxx.jp/にアクセスしブラウザがパソコンであれば index.htmlを表示し、携帯であれば機種判別し imodeであればhttp://xxx.xxx.jp/i/index.html auであればhttp://xxx.xxx.jp/au/index.html voadfonであればhttp://xxx.xxx.jp/v/index.html と自動で振り分けしたいのです。 pcと携帯を判別して自動で振り分けするものはみつかるのですが 携帯をさらに機種判別して振り分けするという例が 見当たりませんでした。どのようにわけるのでしょうか? フリーでcgiかphpどちらでも構いませんので参考になる サイトがありましたら教えて下さい。 サーバーは.htaccess使用可能です。

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

    説明がややこしかったらすみません。 現在、既存のPCサイトに合わせて新規の携帯サイトを作っています。 PCサイトのURL(index.html)にアクセスをしたときに 携帯からのアクセスは(/mobile/index.html)などに飛ばしたいと考えています。 htaccessでの振り分けを考えていましたが、 サーバーがhtaccessの使用ができないみたいで困っています。 PCサイトの(index.html)は URLの変更はできませんので index.phpなどをおいて phpにアクセスさせて飛ばすこともできなくて どうしたらよいか困っています。 どなたかよい解決方法がお分かりになる方がいらっしゃいませんでしょうか? よろしくお願いいたします。

  • PerlでHTMLを読み込み記述されたSSIコマンド(exec)の実行を実現するには。

    HTMLファイルを読み込んで表示するCGIを作っています。 それで、そのHTMLファイルに記述されたSSIコマンドを、 そのCGIで認識して、それを実行する。ということを実現したいと思っています。 includeコマンドは簡単に実現ができたのですが、 execコマンドが完全には実現できません・・・。 一応、openのパイプを使って、 <!--#exec cmd="test.cgi" --> のようなコマンドを認識しそれを実行して返すことはできました。 しかし、test.cgi?a=wのように パラメータをつけての実行が実現できません。 もちろん、SSIと同じように、 execコマンドで実行する先のCGI、プログラムなどを 改変することなくそのまま実行できることが条件です。 (例えば、$ENV{'QUERY_STRING'}ではなくARGVを使うようにするのではダメなんです) お知恵をお貸しいただけると幸いです。 どうかよろしく御願いいたします。

    • ベストアンサー
    • Perl
  • htaccessを使ってredirectさせたいのですが・・・

    今組んでいるプログラムで、「あるディレクトリにアクセスした時に別のCGIファイルへ自動的に転送させる」というような仕組みを使用したいと思っています。 使っているサーバはhtaccessが使えるので、htaccess内にRedirect関数を記述して転送させようとしているのですが、何度やっても自動転送がうまくできません。 具体的に言うと「index.html」にアクセスした時に「cgi-bin/index.cgi」というファイルに自動転送させたいのですが、index.htmlがそのまま表示されてしまうのです。 それで、index.htmlを削除してみると、今度は「403 Forbidden」エラーが起こってしまっています。 ちなみに、使っているサーバはWEBARENAです。 もうどうしたら解決するのか全然わからず困りはてています。 皆さまの知恵をお貸しください。よろしくお願い致します。

  • 携帯と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