プロが教えるわが家の防犯対策術!

INDEXの振り分けにindex.cgiを設置していますが、ソフトバンクは
PC画面になってしまいます。
$lct='';
$vodafone='vodafone';
$imode='DoCoMo';
$ezweb='UP.Browser';

#初期設定
##Jaup先1
$vjump='./mi.html'; #Vodafone(j-Phone)用のファイルアドレスを指定

##Jaup先2
$ijump='./mi.html'; #i-MODE用のファイルアドレスを指定

##Jaup先3
$ejump='./mi.html'; #EZ WEB用のファイルアドレスを指定


## ユーザーエージェントの判定
$USR = $ENV{'HTTP_USER_AGENT'};
#----------Vodafone版が不要の場合は行の頭に#を入れてpassさせてください
if ($USR =~ /$vodafone/i) { $lct = $vjump;&go;exit;}

#----------i-mode版が不要の場合は行の頭に#を入れてpassさせてください
if ($USR=~ /$imode/i) { $lct = $ijump;&go;exit;}

#----------ezweb版が不要の場合は行の頭に#を入れてpassさせてください
if ($USR=~ /$ezweb/i) { $lct = $ejump;&go;exit;}

$lct='./index.html'; #パソコン用のファイルアドレスを指定

&go;

exit;

sub go {
print "Content-type: text/html\n\n";
open(IN, $lct);
while (<IN>) {
print;
}
close(IN);

}

exit;

と書いてあるvodafoneの部分をSoftBankと変更するとうまく振り分けられるのですが、PCでアクセスすると携帯専用のindexへ飛んでしまいます。どうすればきちんと振り分けが出来るのでしょうか?

A 回答 (1件)

これはnoachikoさんが書かれたコードですか?


携帯サイト用の振り分けをユーザーエージェント(ブラウザ情報)で考えるなら、
SoftBankに関してはSoftBank、Vadofone、J-PHONEを指定したほうが良いです。
noachikoさんがご利用になられているブラウザのユーザーエージェントが分からないので、
PCでアクセスすると携帯専用のindexへ…の部分の動作までは確認出来ませんが、
sub go {
より上の部分のコードですが、これでどうですか?
(コメント部分はちょっと省略してます)


$vjump='./mi.html'; #SoftBank用
$ijump='./mi.html'; #i-MODE用
$ejump = './mi.html'; #EZWEB用
$pcjump = './index.html'; #PC,その他

$USR = $ENV{'HTTP_USER_AGENT'};

if ($USR =~ /^DoCoMo/) { $lct = $ijump; }
elsif ($USR =~ /UP\.Browser/) { $lct = $ejump; }
elsif ($USR =~ /^SoftBank/ || $USR =~ /^Vodafone/ || $USR =~ /^J-PHONE/) { $lct = $vjump; }
else { $lct = $pcjump; }

&go;
exit;
    • good
    • 0

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