![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
ケータイ用サイトを運営しています。
目新しいデザインのサイトを作ろうと、通常のHTMLからiモード対応のi-XHTMLを用いたサイトに書き換えたところ、iモード以外のキャリアからアクセスできなくなってしまいました(URLにアクセスするとソースがそのまま表示されてしまう)。この問題はphpやパールによるユーザーエージェントを判別するスクリプトがあれば解消されると色々調べた結果わかったのですが、肝心のそれをどうやって書いたらいいか、またどうやってサイトに組み込めばいいのかがまったくプログラムの知識が初心者レベルなので分かりません。現在使用しているプロバイダーのサーバーがphpやパールに対応しているという前提でどなたか、詳しく説明していただける方助けてください。
No.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の設置について学べば分かります。
こんな感じです。
回答ありがとうございます。CGIの設置については勉強してなんとかわかったのですが動作がうまくいきません。パーミッションの設定等も完璧のはずなんですが…これはHTMLにも同じスクリプトを記述する必要があるんでしょうか?今のところ.cgiで保存したファイルをサーバーの適切な場所にUPしただけなんですが・・・。ちなみにサーバーは自由なCGIの設置が許可されています。1行目のperlへのパスも確認したので間違いはありません。もし他の原因がわかれば教えてください。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- 知的財産権 取扱説明書の取扱いで違法になるのはどれでしょうか? 2 2022/08/01 17:12
- その他(プログラミング・Web制作) このWEB用語、WEB文章、意味が分かりますか? 理解できない人が多いようなんですが・・・ 7 2022/10/22 09:13
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- Windows Vista・XP windows xp proが起動しなくなりました 10 2022/05/20 00:49
- WordPress(ワードプレス) 「あるサイトのリンクを踏まないと、次のサイトを見れない仕組み」を作りたい 2 2022/07/20 02:43
- Ameba(アメーバブログ) アメブロは、HTMLのタグの入力を許さないブログ・サイトですか? 1 2023/06/18 18:48
- ホームページ作成・プログラミング アメーバ・ブログは"HTMLタグ"を許可してないのですか? 2 2023/06/17 21:08
- PHP WordpressのPHPを安全に編集する方法 1 2022/08/04 01:43
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3つ以上の論理積は利用可能なの...
-
外部リンクからアクセスされた...
-
円グラフ描画について
-
HTMLで入力されたデータをPOST...
-
ブログのようなコメント機能を...
-
外注PHPソースからWorm.Avron検...
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
別ファイルの変数を呼び出した...
-
PHPのif文でその処理を途中で抜...
-
CFileDialogの最初のディレクト...
-
.phpと.incファイルの違いはな...
-
「警告:ページの有効期限切れ...
-
「@$変数」の「@の意味は?」
-
リンク先を隠す方法はないでし...
-
2つの画像ファイルが異なるファ...
-
現在位置より2つ上のディレク...
-
Subversionのリポジトリの削除
-
VB6にてメールを送信する方法
-
パースエラーとは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
3つ以上の論理積は利用可能なの...
-
ステップカウンタ(PHP)
-
phpと<?xml version="1.0" enco...
-
MacブラウザのSafariで文字化け...
-
簡単な心理テストを作りたい
-
動的にラジオボタンを増やす方法
-
PHPスクリプトにプロキシを弾か...
-
PHPの吐くデバッグ行番号の見方...
-
HTMLで入力されたデータをPOST...
-
ケータイサイトの3社別自動振り...
-
$_SERVER と $_ENV の違い
-
empty($_SERVER['REQUEST_U
-
PHP PCアクセス制限
-
サイト内検索
-
頻出関数とその意味をランダム...
-
phpにて、ipアドレスによる処理...
-
PHPについての質問です。
-
画像掲示板用のPHPかCGIスクリ...
-
FPDFについて
-
ORIG_SCRIPT_○○○はあるがORIG_P...
おすすめ情報