• ベストアンサー

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

428-564の回答

  • ベストアンサー
  • 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
質問者

お礼

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

関連する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