No.2ベストアンサー
- 回答日時:
JavaScript を使う技は、端末に JavaScript が入っていることが前提なのでおすすめできません。
ネチケッチ違反ですし(^_^;
で、それだと、下記のようなCGIを用意するのが一番いいでしょう。
本当はアパッチのネゴシエーションが使えればそれが一番なんですけどね。CGIは重いし(^_^;
ファイル名:index.cgi
------------------------------○
#!/usr/local/bin/perl
$browser=$ENV{'HTTP_USER_AGENT'};
$browser=~s/\/.*$//;
if($browser =~ /^docomo$/i ){
print "Location: http://wwwwwwww/"; #i-mode
} else {
print "Location: http://wwwwwwww/"; #other
}
------------------------------○
で、これでiモードだけを #i-mode の行のURLへとばします。このとき、Location: のあとに来る文字列は必ず http: から始まっている必要があります。
i-mode 以外のブラウザは無条件で #other の方へ飛びます。
また、1行目は問題があるようであれば書き換えてください。
もちろん、.htaccess に
DirectoryIndex index.cgi
という記述が可能であるか、でなければ
または
DirectoryIndex index
という設定がプロバイダ側でやってあることが前提ですのでお気を付けを。
プログラムが何やってるのか分からなければ、簡単にでよければ解説しますんで、そのときは補足ください。
ただし、iモードが Location: を認識するかどうか分からないので、503i以前のiモードを持っているのであれば実際に動くかどうかテストしてみてください。
ありがとうございました。m(_ _)m
まさにこの記述ですね!
USER_AGENTでif文を使えば良かったのですね。
ところでアパッチのネゴエーションというのはどのようなものでしょうか・・・?
No.4
- 回答日時:
補足です。
ネゴシエーションについてですが、これは、条件によって表示するページを変える設定のことです。
たとえば、日本人には日本語で、中国人には中国語でコンテンツを提供する、というようなこともできます。
ブラウザの設定に「言語の優先順位」というようなものがあるのを見たことがあると思いますが、あれがそうです。
俺は少なくとも言語による区別しかみたことがありませんけど、アパッチのバージョンが上がればブラウザによってページを変えたりもできるようになるかもしれません。
なお、アパッチというのはホームページを表示するためのサーバー側プログラムの一種で、現在もっとも一般に普及しているものです。
この回答への補足
すみません。また教えてください。
CGIの方がどうしてもサーバエラーになってしまうので
.htaccessで
order allow,deny
allow from all
deny from 210.153.84.
ErrorDocument 403 http://ドメイン名/i.html
このように記述してi-modeのIPをdenyし、403ページを
i-mode用のメニューにするように考えたのですが、
アクセスに妙に時間がかかってしまいます。
やはりこれは問題でしょうか。。。
補足ありがとうございます。
現在のapacheではブラウザによる表示ページのネゴエーションは無いんですね。
UNIX系ではapacheが普及しすぎてapache以外のデーモンはほとんど耳にしないですねー。
No.3
- 回答日時:
私はUSER_AGENTでPCとi-modeを判別して、それぞれのHTMLファイルを読み込んで表示…としています。
if ($agent eq 'i') {
if(!open(IN, "$iFile")) {
$Date = join('',<IN>);
close(IN);
$len = length($Date);
print "Content-type: text/html\n";
print "Content-length: $len\n";
print "\n";
print $Date;
}
else {
if(!open(IN, "$pcFile")) {
$Date = join('',<IN>);
close(IN);
print "Content-type: text/html\n\n";
print $Date;
}
別にjoin()を使わなくても1行ずつ読み込んで表示するのでも良いと思いますが、これは私の癖みたいなもんです(^^;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クッキーを使って投票欄に名前...
-
CGI経由でのPDFファイルをダウ...
-
cgi(perl) sendmailの使い方
-
Lightboxの表示位置に関して質...
-
チェックボックスの返す値
-
VB初心者。小数点以下の表示で...
-
「value」に2つの値をセットす...
-
INPUT TYPE
-
VB.net データーグリッドビュー...
-
select値をhiddenのvalueに渡し...
-
PHPで検索ボタンを押さずに検索...
-
ラジオボタンが両方とも選択で...
-
wordの数式について 定積分を書...
-
Error: No Recipient というエ...
-
チェックボックスとセレクトボ...
-
フォームで絞込み検索機能を持...
-
ブックマークからのアクセスを...
-
このメールフォームが機能しな...
-
javascript ColorBoxの最大縦幅...
-
FORMを中央に表示したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クオートの多重入れ子をするには?
-
perl/cgi リダイレクトができない
-
普通のHTMLの画面からCG...
-
選択式アンケート項目合計点で...
-
Spreadsheet::WriteExcelについ...
-
CGI内でけいたいスマホの振り分け
-
iis+cgiでmultipart/form-data...
-
sendmailからblatjへ
-
Yomi-Search新規ウインドで開く...
-
CGIから表生成(1行に数件のデ...
-
【perl/cgi】文字列を検索して...
-
sendmailで送信の時に文字化け
-
フォントサイズを変えるには?
-
伝言掲示板の作成(超初心者です)
-
CGI経由でのPDFファイルをダウ...
-
htmlからパラメータで、cgiに渡...
-
CGIでテキストボックスの内容に...
-
cgi(perl) sendmailの使い方
-
CGIでPERLのモジュールの有無を...
-
ホームページビルダーで作ったh...
おすすめ情報