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

ケータイ用サイトを運営しています。
目新しいデザインのサイトを作ろうと、通常のHTMLからiモード対応のi-XHTMLを用いたサイトに書き換えたところ、iモード以外のキャリアからアクセスできなくなってしまいました(URLにアクセスするとソースがそのまま表示されてしまう)。この問題はphpやパールによるユーザーエージェントを判別するスクリプトがあれば解消されると色々調べた結果わかったのですが、肝心のそれをどうやって書いたらいいか、またどうやってサイトに組み込めばいいのかがまったくプログラムの知識が初心者レベルなので分かりません。現在使用しているプロバイダーのサーバーがphpやパールに対応しているという前提でどなたか、詳しく説明していただける方助けてください。

A 回答 (2件)

こんにちは。



i-XHTMLを使えばそりゃFOMAからしか見えませんよ。
で、肝心の振り分けはユーザーエージェントから振り分けるか、ホストから振り分けるかになります。

振り分けには、perlかphpで書いたスクリプトを「index.cgi」とか「index.php」として設置する事で動作します。

実はJavaScriptにも同じ事は出来るのですが、肝心の携帯用ブラウザが対応しないので今の所はムリなんですよねえ。

で、肝心のスクリプトですが、サンプルを載せておきましょう。

-------------------------------
#!/usr/bin/perl

#ユーザーエージェント取得
$uagent = $ENV{'HTTP_USER_AGENT'};
$ua = 99;
$docomohtml = 'ドコモ用ページ';
$auhtml = 'au用ページ';
$vodauhtml = 'ボーダ用ページ';
$otherhtml = 'その他用ページ';
if( index($uagent,"DoCoMo") >= 0){
$ua = 0;
}
elsif( index($uagent,"UP.Browser") >= 0){
$ua = 1;
}
elsif( index($uagent,"Vodafone") >= 0){
$ua = 2;
}
else{
$ua = 3;
}

if( $ua == 0){
print "Location: $docomohtml\n\n";
}
elsif( $ua == 1){
print "Location: $auhtml\n\n";
}
elsif( $ua == 2){
print "Location: $vodahtml\n\n";
}
else{
print "Location: $otherhtml\n\n";
}
exit;
-----------------------------------

てな感じです。
各ページのパスは適宜代入して下さい。
また、1行目はperlへのパスです。これはCGIの設置について学べばどうすれば良いか分かるでしょう。
これを「index.cgi」として保存して設置すればオーケー。パーティションは755で良いでしょう。
*パーティションもCGIの設置について学べば分かります。

こんな感じです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。CGIの設置については勉強してなんとかわかったのですが動作がうまくいきません。パーミッションの設定等も完璧のはずなんですが…これはHTMLにも同じスクリプトを記述する必要があるんでしょうか?今のところ.cgiで保存したファイルをサーバーの適切な場所にUPしただけなんですが・・・。ちなみにサーバーは自由なCGIの設置が許可されています。1行目のperlへのパスも確認したので間違いはありません。もし他の原因がわかれば教えてください。

お礼日時:2005/06/02 06:34

ここにある



参考URL:http://php.s3.to/tt/tt3.php
    • good
    • 0
この回答へのお礼

まったくのド素人でしたのでとても教えていただいたサイトは参考になりました。ありがとうございました。

お礼日時:2005/06/02 06:34

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