電子書籍の厳選無料作品が豊富!

携帯のサイトを作りたいと思うのですが、そのキャリアが日本で、Docomo、Au、TU-KA、ボーダフォンとありますね。
これを、識別して、それぞれに合わせた、ページを表示する方法を探しています。
yahooなどでも、勝手に、携帯用(私はドコモ)のものが表示されますが、あれはどうやって、処理してるのですか?
どなたか、教えて下さい。
ヨロシクお願いします。

A 回答 (4件)

#2 です。


一切CGIを使わない(&使いたくない)のであれば
以下のような.htaccessでいいとおもいます。
ただし、RewriteEngine必須です。

RewriteCond %{HTTP_USER_AGENT} ^UP\.Browser
RewriteRule ^(.*)\.hdml$ /wap1/$1.hdml
RewriteCond %{HTTP_USER_AGENT} ^KDDI
RewriteRule ^(.*)\.html$ /wap2/$1.html
RewriteCond %{HTTP_USER_AGENT} DoCoMo
RewriteRule ^(.*)\.html$ /imode/$1.html
RewriteCond %{HTTP_USER_AGENT} J-PHONE [OR]
RewriteCond %{HTTP_USER_AGENT} voda [OR]
RewriteCond %{HTTP_USER_AGENT} Voda
RewriteRule ^(.*)\.html$ /jphone/$1.html
RewriteCond %{HTTP_USER_AGENT} ^UP\.Browser
RewriteRule ^$ /wap1/index.hdml
RewriteCond %{HTTP_USER_AGENT} ^KDDI
RewriteRule ^$ /wap2/index.html
RewriteCond %{HTTP_USER_AGENT} DoCoMo
RewriteRule ^$ /imode/index.html
RewriteCond %{HTTP_USER_AGENT} J-PHONE [OR]
RewriteCond %{HTTP_USER_AGENT} voda [OR]
RewriteCond %{HTTP_USER_AGENT} Voda
RewriteRule ^$ /jphone/index.html

AddType text/x-hdml;charset=Shift_JIS .hdml

PC用は、/ に置く
imode用は /imode に置く
jphone/vodafone用は /jphone に置く
(901シリーズはwap2ですが、こちらで認識されます)
WAP2(au/tu-ka)用は、/wap2 に置く
WAP1(au/tu-ka)用は、/wap1に置き、index.hdmlをトップページにする
    • good
    • 0
この回答へのお礼

ありがとうございます。
現在、お金をかけない為、無料レンタルサーバーを利用していますが、これが、可能かどうか確認してみます。
詳細まで、ありがとうございました。

お礼日時:2005/04/07 09:33

現在、お金をかけない為、無料レンタルサーバーを利用していますが、


無料レンタルサーバーですと、ほとんどが制限が厳しかったり等で不可能な場合があります。
広告バナーが携帯にとっては巨大なものもありますし・・・
できるとしたら、xrea.com ぐらいでしょうか?

それとは別に、携帯に専門に対応されている無料レンタルサーバーが良いかと思います。
http://ip.tosp.co.jp/
    • good
    • 0

すごい長い回答ですが・・・



これをするには、CGI等の知識が必要になります。

1つは、Apacheに使われている RewriteEngineを使う方法です。
環境変数 HTTP_USER_AGENTごとに振り替えます
ただし、RewriteEngineが有効でないサーバーでは使えません。

.htaccessの中身

RewriteCond %{HTTP_USER_AGENT} ^UP\.Browser [OR]
RewriteCond %{HTTP_USER_AGENT} ^KDDI [OR]
RewriteCond %{HTTP_USER_AGENT}DoCoMo [OR]
RewriteCond %{HTTP_USER_AGENT} J-PHONE [OR]
RewriteCond %{HTTP_USER_AGENT} voda [OR]
RewriteCond %{HTTP_USER_AGENT} Voda
RewriteRule ^(.*)\.html$ /cgi-bin/view.cgi?$1.html [T=application/x-httpd-cgi]
RewriteCond %{HTTP_USER_AGENT} ^UP\.Browser [OR]
RewriteCond %{HTTP_USER_AGENT} ^KDDI [OR]
RewriteCond %{HTTP_USER_AGENT}^Pixo-Browser [OR]
RewriteCond %{HTTP_USER_AGENT} J-PHONE [OR]
RewriteCond %{HTTP_USER_AGENT} voda [OR]
RewriteCond %{HTTP_USER_AGENT} Voda
RewriteRule ^$ /cgi-bin/view.cgi?index.html [T=application/x-httpd-cgi]

この例の場合、PC用は普通に /index.html なのですが
携帯のものは、/cgi-bin/view.cgi というwrapperを経由して表示します。

もしくは、すべてCGI仕掛けで良いのであれば、
index.cgi だけを作り、それをwrapperとして使います。

例)
#!/usr/bin/perl
$htdocs="./pc";
$index="index.html";
$mime="text/html";
if($ENV{HTTP_USER_AGENT}=~/^KDDI/) {
 $htdocs="./wap2";
} elsif($ENV{HTTP_USER_AGENT}=~/^UP\.Browser/) {
 $htdocs="./wap1";
 $index="index.hdml";
 $mime="text/x-hdml";
} elsif($ENV{HTTP_USER_AGENT}=~/^DoCoMo/) {
 $htdocs="./imode";
} elsif($ENV{HTTP_USER_AGENT}=/~(J-PHONE|Voda)/) {
 $htdocs="./vodafone";
}
if($ENV{QUERY_STRING} eq '') {
 $file=$index;
} else {
 $file=$ENV{QUERY_STRING};
}
if(open(R,"$htdocs/$file")) {
 print "Content-type: $mime\n\n";
 foreach(<R>) {
  print "$_\n";
 }
 close(<R>);
} else {
 print "Status: 403\n\nFile not found\n";
}

この場合、リンクの張り方は
<a href="?filename.html">
のように、ファイル名の前に、? を付けて、かつ
.htaccessには
DirectoryIndex index.cgi
と指定します。

参考URLはうちのサイトですが、実機でもシュミレータでもどうぞ・・・

参考URL:http://line.daiba.cx/
    • good
    • 0

私の使っているホームページスペースでは各キャリアごとのフォルダを作ってファイルを入れると自動的に飛ぶようになっているようですが・・・。

    • good
    • 0
この回答へのお礼

ありがとうございます。
いくつか無料スペースを使っているので、
確認してみます。

お礼日時:2005/04/07 09:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!