![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
以下のように携帯キャリアごとに振り分け、3キャリア以外は
PCフォルダに振り分けるようにした場合ですが、PCフォルダの方で
i Phone 用に幅480pxで作成したページを配置すると
PCから http://mypage.net/ でアクセスしたユーザーにも
i Phone 用の幅480pxページを見せるようになってしまいますか?
i Phoneやスマートフォンの対処はどうされているんでしょうか?
<?php
$agent = $_SERVER['HTTP_USER_AGENT'];
if(preg_match("/^DoCoMo/i", $agent)){
header("Location: http://mypage.net/i/index.html");
exit;
}else if(preg_match("/^(J\-PHONE|Vodafone|MOT\-[CV]|SoftBank)/i", $agent)){
header("Location: http://mypage.net/s/index.html");
exit;
}else if(preg_match("/^KDDI\-/i", $agent) || preg_match("/UP\.Browser/i", $agent)){
header("Location: http://mypage.net/e/index.html");
exit;
}else{
header("Location: http://mypage.net/pc/index.html");
exit;
}
?>
No.2ベストアンサー
- 回答日時:
<?php
$agent = $_SERVER['HTTP_USER_AGENT'];
if(preg_match("/^DoCoMo/i", $agent)){
header("Location: http://mypage.net/i/index.html");
exit;
}else if(preg_match("/^(J\-PHONE|Vodafone|MOT\-[CV]|SoftBank)/i", $agent)){
header("Location: http://mypage.net/s/index.html");
exit;
}else if(preg_match("/^KDDI\-/i", $agent) || preg_match("/UP\.Browser/i", $agent)){
header("Location: http://mypage.net/e/index.html");
exit;
}else if(preg_match("iPhoneやスマートフォン用の判定", $agent)){
header("Location: http://mypage.net/smt/index.html");
exit;
}else{
header("Location: http://mypage.net/pc/index.html");
exit;
}
?>
と判定すれば、PCサイトに影響は無いですが、そういうことではないですか?
>480で作ったサイトをフォルダに格納した場合、PCサイトはどういう影響が出るのかと疑問に思いました。
これは、スマートフォン用の処理を分けずに、pcフォルダにスマートフォン用に作成した横幅480pxで作成したWebページを置きたいということでしょうか?
それであれば現状では、「http://mypage.net/pc/index.html」とファイル名まで指定されてそこにリダイレクトするように作成されておりますので、480px用のページをpcフォルダに置いたとしても「index.html」を上書きしない限りは反映されません。
この回答への補足
>これは、スマートフォン用の処理を分けずに、pcフォルダにスマート
>フォン用に作成した横幅480pxで作成したWebページを置きたい
ということです。
>480px用のページをpcフォルダに置いたとしても「index.html」を上書
>きしない限りは反映されません。
ということはスマートフォンからだと480pxではなく、PCと同じ用にしか映らないということですか?
お手数掛けます。
No.1
- 回答日時:
単純に、iPhoneで480pxで作成した別のHTMLがあるのであれば、
ご質問のサンプルコードに、iPhoneのユーザエージェントを判定する処理を加えて、/iphone/ディレクトリにでもLocationするようにすればよいのではないですか?
ちなみに、プログラムのサンプルコードでURLを記述する際は、「http://example.com」を使用すると決められているようなので、今後出来れば、URLのドメイン部分はexample.comとしてください。
hogehoge78 おっしゃるとおりですね、ありがとうございます。
iPhoneで反映させたければ、のユーザエージェントを判定する処理を加えてやればいいんですね。
ただ、3キャリア以外の判定する処理を加えて、スマートフォン用に
480で作ったサイトをフォルダに格納した場合、PCサイトはどういう影響が出るのかと疑問に思いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- PHP グローバルスコープはありますか? 1 2022/08/08 19:28
- PHP 'member_picture/'に/がありますが 、「スラッシュ」は必要でしょうか? 1 2022/11/27 04:32
- Visual Basic(VBA) ExcelVBAで、index、match関数を使用して、指定範囲に出力したい 3 2022/10/18 21:53
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
- Excel(エクセル) マクロを簡潔にしたい 6 2022/09/16 10:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAを使ってHTMLソースから特定...
-
正規表現で特定のHTMLタグのク...
-
preg_matchでエラーが出ます。
-
HTMLファイルからCSSファイル名...
-
i Phone 用振り分け
-
PHPで変数から1行目だけを取得...
-
VBAのコマンドボタンの文字列の...
-
Excel関数「COUNTIF」で”文字”...
-
メッセージボックスで1025文字...
-
文字の入力で横バー上段、中断...
-
UTF8メールがLotus Notesで文字...
-
携帯電話の相手の電話番号にメ...
-
エクセルのCOUNTIFが正しくカウ...
-
ソースコードの1行が長いとき...
-
Nvuで作成したhtmlをコピペして...
-
1バイト文字の上位4ビット・...
-
全角括弧と全角読点の間隔を狭...
-
PHPの文字列比較(IF文)
-
COBOLの改行
-
JAVA Spring 改行コードを含む...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
、"(ダブルクォーテーション)...
-
VBAを使ってHTMLソースから特定...
-
PHPで変数から1行目だけを取得...
-
Excelで数字のみを2倍3倍にする...
-
preg_matchでエラーが出ます。
-
正規表現でシングルクォーテー...
-
URLを抽出する正規表現
-
正規表現パターンの記入方法に...
-
PHPで<a>タグ内からURLと文字を...
-
PHP 複数行の正規表現
-
PHPの正規表現で住所を分けるに...
-
電話番号のチェック ハイフン...
-
ereg_match関数について
-
正規表現で「0」のみ抽出
-
PHPメールフォーム URLと半角...
-
preg_matchで Warning: Undefin...
-
phpでメールアドレス入力の入力...
-
正規表現で特定のHTMLタグのク...
-
preg_matchで指定ファイルのタ...
-
変数に指定文字列が含まれると...
おすすめ情報