携帯でのリンクの作成方法

このQ&Aのポイント
  • ホームページ制作初心者が携帯とPCのアクセス判断してキャリア別にリンクしたい
  • デフォルトのURLを短くしたいが、携帯ではmeta refreshを認識しない
  • 友達にも使いやすい方法を探しているが、アドレスが違ってしまう
回答を見る
  • ベストアンサー

携帯でのリンク

ホームページ制作に関してはまったくの初心者なんですが、携帯とPCからのアクセスを判断して、キャリア別にリンクするものを作りたくていろいろなサイトを参考にしてやっています。知識はないので、ほとんどコピペなんですが・・・ で、cgiで振り分けることは一応できました。 次に http://www/~/○○○/ と入れると、デフォルトである http://www/~/○○○/index.html にリンクされますよね?(うちはそうなんですが・・・) 友達にはなるべくみじかい「http://www/~/○○○/」として教えたいのです。 そこで、このindex.htmlにcgiへの自動リンクをしたいんですが、 <meta refresh content=0 url=http://cgi/~/○○○.cgi> とすると、携帯ではmeta refreshを認識してくれません。 よって、携帯用のindex→cgiへの自動リンクでいい方法はないでしょうか? cgiのアドレスを友達に教えればいいじゃないかと思われるかもしれませんが、アドレスがまったく違ってしまうので・・・

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

  • ベストアンサー
  • liv2007
  • ベストアンサー率81% (378/464)
回答No.1

正しい記述は以下のようです。(PCとEZweb携帯以外は未対応) <http-equiv="refresh" content="0;URL=リフレッシュするURL"> CGIだけでなくPHPも許可されているサーバーでしたら、 以下のページにある方法で可能になると思います。 http://kita2.net/diary/ <?php $ua = $_SERVER["HTTP_USER_AGENT"]; if(ereg("DoCoMo|J-PHONE|Vodafone|UP\.Browser|~ /^KDDI/|ASTEL|PDXGW",$ua)){ header("Location:携帯で飛ばすページのURI"); exit; } else { ?> ※10月30日の日記に書いてあります。 ※PHPはHTMLファイルの中に書けますので、トップペー ジ(index.html)に記述すれば大丈夫です。 無理な場合はトップページを単なる入り口ページとして 作成して、「Enter」という文字か画像に普通にcgiへの リンクを貼って使用してはいかがでしょうか? 自動リンクでないとだめなのでしょうか? http://www.marguerite.to/Nihongo/HowToMakeYourWeb/Mobile/Distribution.html トップページにCGIの使用を許可されているサーバーで したら、index.htmlのかわりに****.cgiをindex.cgi として置いてはいかがでしょうか? ※cgiファイルの中も変更が必要になるはずです。 (ファイル名「****.cgi」の部分を「index.cgi」に変更) ※他のファイル名の変更も必要だったら変更します。 サーバーでSSIの使用を許可されているのでしたら、SSI を使った方法もあるようです。(セキュリティの為に許可 していないプロバイダなどが多いです。)

ikke-ikke
質問者

お礼

私の使っているサーバーは普通のページ用と、cgiなど用でサーバーを分けているので(これって普通ですか?)どの方法もなかなかうまくいかず、 結局、アドバイスどおり、index.htmlにふつうのcgiへのリンクをすることにしました。 ありがとうございました。

その他の回答 (1)

  • liv2007
  • ベストアンサー率81% (378/464)
回答No.2

HTMLファイルとCGIファイルを分けてアップロードする サーバーはけっこうあります。 数えたことがないので、どちらがどのくらい多いのかは 分かりませんが... サービス提供側の好みと安全面を考えての判断による仕 様だと思いますが、どちらの方式をとっているサーバーも 普通だと思います。 Ano.1で回答したPHPを使用する方法は、HTMLを置いて あるディレクトリでもCGI、PHPが実行できなければ使 えないので、残念ですが質問者さまが使用されている サーバーでは動かないことになります。 CGI用サーバーでPHPまたはSSIが許可されていて、CGI を置くディレクトリにHTMLも置いていいのでしたら、 トップページをCGIのディレクトリに置いて使用されて みてはかがでしょうか? この場合、ホームページのアドレスはCGIのサーバーのア ドレスになります。(http://cgi/~/) SSIの使用が許可されている場合、HTMLファイルの中に CGIを呼び出すタグを記入して実行するのでHTMLとCGI のディレクトリが別けられていても可能ですが、SSIの 使用は許可されていないのですね?(SSIを許可している ところは少ないようですので...) ※ぷららではCGIサーバーで許可(HTMLサーバーは?)、 ハイホーでは一部許可のようです。 http://tech.bayashi.net/pdmemo/pckt.html <!--#exec ~>は禁止されているが、<!--#include ~> が許可されている場合、以下の方法で出来るかもしれません。 <!--#include virtual="CGIプログラムのアドレス"--> SSIについて下記のページが参考になると思います。 http://www.tohoho-web.com/wwwssi.htm

ikke-ikke
質問者

お礼

URLを参考にしてちょっと勉強してみます。 コピペでは限界があるので・・・笑 ありがとうございました。

関連するQ&A

  • metaタグでリダイレクト

    掲示板を新しいURLに作ったのですが、リンクが古いものになっています。 そこで、XXXXX.cgi という掲示板にアクセスしたら、自動的に、YYYY.cgi という掲示板にジャンプするようなことはできないでしょうか?HTMLなら、<meta http-equiv="refresh" content="0;url=./index.html">のようにできるのですが。

  • 携帯サイトで自動ジャンプの方法

    携帯サイトを作成しています。 あるページにアクセスすると自動的に指定したURLへ飛ばす方法 を探しています。 イロイロと調べた結果、 <meta http-equiv="Refresh" content="1; URL=http://~"> <META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://~"> 上記2つのやり方があることが分かりましたが、携帯サイトでは使えないようでした。 携帯サイト(3キャリア)で有効な方法があれば教えてください。 よろしくお願いします。

  • CGIから移動したページでのリンク元URLの取得について

    CGIから移動したページでのリンク元URLの取得について CGIのHTML表示部を print<<End_of_Data; <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Refresh" content="5;URL=http;//example.com/index.html" /> <title>認証OK</title> </head> <body>会員ページに移動します</body> </html> End_of_Data としています。 5秒後にリダイレクト先のexample.comに移動するようにしているのですが、 このリダイレクト先でリンク元を取得することができません。 リンク元URLを取得するにはどうしたらよろしでしょうか? よろしくお願いします。

    • ベストアンサー
    • CGI
  • 携帯端末だけでしか見れないCGI探しています

    はじめまして。例えばメタで飛ばす方法<meta http-equiv="refresh" content="0; URL=****">ではなくCGIで携帯HPをWEBで見れない ようにできるCGIをご存知の方教えて頂けますでしょうか? 宜しくお願いします。

  • htmlでCGIを作動させたい

    PC用とモバイル用のサイトを作成しています。 http://www.abc.com/ にアクセスすれば自動で振り分けするよう index.cgiというCGIスクリプトを作成しました。 それをindex.html内に組み込んで自動でCGIを呼び出すことは可能でしょうか? 何故わざわざindex.htmlをつくるかというと、METAタグで検索エンジンに引っかかるようにする為です。 <!--#exec cmd="index.cgi"--> を入れてみましたが、振り分け先リンクが表示されるだけで自動では飛んでくれませんでした。 以下、index.htmlのソースです。 <html> <head> <title>ああああ</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta name="description" content="ああああ"> </head> <!--#exec cmd="index.cgi"--> </html> 拙い文章&初歩的な質問で申し訳御座いません。 何卒よろしく御願い致します。

    • ベストアンサー
    • CGI
  • はじめまして。現在携帯サイトを作成しているのですが、index.php

    はじめまして。現在携帯サイトを作成しているのですが、index.phpを利用し3キャリア対応にしています。しかしサーバにアップしURLをたたくと、ファイルのダウンロードが始まってしまいます。 どなたかご教授ください。 index.phpの中身は以下のとおりです。 <?php // 携帯キャリア別自動振り分けスクリプト // URL:http://www.marguerite.to/Nihongo/Labo/PHP4Mobile/PageDistribution.html // // elksystem.ltd // // //タイトル $title="転送"; //EZウェブ専用ページのURL $page_e='./ez/'; //ボーダフォン専用のURL $page_j='./v/'; //一般携帯電話対応ページのURL $page_i='./i/'; //H"リンク専用対応ページのURL $page_h='./i/'; ~ 3キャリア対応の中身 ~ ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <title>転送</title> <meta http-equiv="refresh" content="0;URL=./i/" /> </head> <body> </body> </html>

    • ベストアンサー
    • PHP
  • PCと携帯の自動判別

    <meta http-equiv="refresh" content="0;url=index2.htm"> このタグを使うと パソコンから見ている人は 自動的に index2.htmへジャンプし、 携帯から見ている場合は そのままこのページが表示されることができます。 これの逆はできるのでしょうか? 携帯端末からの人は index2.htmを表示し、 パソコンからの人は そのままという状態ですが。 よろしくお願いします

    • ベストアンサー
    • HTML
  • 携帯3キャリアで、設定した時間に別サイトに自動で飛ぶ方法教えてください

    携帯3キャリアで設定時間になると自動で別サイトに飛ばしたいのですが、java、HTMLでも何か方法はございますか? 因みに下記のタグではソフトバンクのみ有効でした。 <META HTTP-EQUIV="refresh" CONTENT="5;URL">

  • 1回だけのリフレッシュ設定について?

    お世話になります。  _______  |          |   |   1      |   | ̄ ̄| ̄ ̄ ̄ ̄ |   |2  | 3    |   |   |      |   |   |      |  |   |      |   ̄ ̄ ̄ ̄ ̄ ̄ ̄ 先日もご質問させていただきました者ですが、 (04/07/22 15:01) 検索エンジンの結果、3のフレームにあてている ページだけが検索で出てきます。 そこで、教えていただきました中からヒントを得まして、 ホームページの自動リンクとして、 <META HTTP-QUIV="Refresh"CONTENT="*;URL=http://index.htm"> で、個別検索の結果のページから、おおもとのindexに 自動リンクを張りました。 結果、検索の後3のページから無事フレーム付きの indexページが表示されました。 が、上記メタタグ *=5 として5秒後に再び3の部分に indexが表示され、また5秒後に3の部分にindexが表示され、、、、。きりがありません。 1回だけリフレッシュしてほしいのですが、どなたか 分かる方おられますでしょうか。お願いします。

  • HTMLの画像自動更新について

    現在、 <meta http-equiv="Refresh" content="5">で自動更新をしているのですが、 毎回同じ画像が表示されてしまいます。 F5を押すと画像は更新されます。 キャッシュに問題があるのではと調べて下記のように書きました。 <HTML> <HEAD> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Pragma" content="no-cache"> <meta equiv="Expires" content="-1"> <meta http-equiv="Refresh" content="5;URL=index_i_i.html"> URLの「index_i_i.html」は同じHTMLファイル(名前は変えて)を用意して交互に飛ぶように設定しました。 ですが、上記の記述でも同じ画像が表示されます。 F5では更新されるのですが、F5と同じ更新をHTML内に記述するにはどうしたらよろしいのでしょうか? できれば、CGIやスクリプトは使いたくないのですが、使わなくてはいけないのであれば、教えてください。 お願いします。

    • ベストアンサー
    • HTML

専門家に質問してみよう