質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

402閲覧

PHPでPCページとSPページを振り分けたい

tama_0126

総合スコア7

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/08/24 07:44

編集2017/08/24 08:44

###前提・実現したいこと

PHPでユーザーエージェントの振り分けの設定をしたいです。

ディレクトリは下記のように格納しました。
index.php ←振り分けるためのphpのみ
∟SP
∟PC

下記のコードを入れて実装したところ、
https://○○○○.com/aaa/のURLをクリックすると
PCはhttps://○○○○.com/aaa/pc/index/phpを読み込み、
スマホはhttps://○○○○.com/aaa/sp/index.phpを読み込みました。

ただ先方の要望としては、
PCのブラウザにhttps://○○○○.com/aaa/sp/とURLを入力した場合でも
PCのページにリダイレクトするようにしてほしいとの事でした。
現状のPHPだとaaa/以下のディレクトリまでURLで指定すると、
そのディレクトリ配下のindex.phpが読み込まれてしまいます。
PHPについては知識がなく、web上の情報をコピーして実装することしかできないので、
このような特殊な依頼に対応できず困っています。

どなたか解決方法をご教示いただければ幸いです。

よろしくお願い致します。

###発生している問題・エラーメッセージ

エラーメッセージ

###該当のソースコード

<?php $ua = $_SERVER['HTTP_USER_AGENT']; if (preg_match('/(iPhone|Android.*Mobile|Windows.*Phone)/', $ua)) { header('Location: ./sp/index.php'); exit(); } ?> <?php $ua = $_SERVER['HTTP_USER_AGENT']; if (preg_match('/(Chrome|Safari|Firefox)/', $ua)) { header('Location: ./pc/index.php'); exit(); } ?>

###試したこと
課題に対してアプローチしたことを記載してください

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2017/08/24 08:03 編集

プログラムコード(およびエラーメッセージ)は```で囲ってください。(わからなければ質問編集画面でコード部分を選択し<code>ボタンを押してください)また、エラーメッセージが出ているのであればなるべく全文添付してください。
m.ts10806

2017/08/24 08:06

ご提示のソースだとspページへのリダイレクトのように見うけられますが・・?
RaBLEbrigHomeTI

2019/06/05 10:12

それが、スマホ(例:Android)のChrome等のメニューにある「共有」→アプリを選ぶ画面が出る→からツイート に飛ばしての共有だと/mobile/つきURLで共有され →/mobile/hogehoge.htmlでアクセスしてくると/mobile/mobile/hogehoge.htmlになる リダイレクトの繰り返しされるので、最大1回までで止めたいのです
RaBLEbrigHomeTI

2019/06/05 10:15

すいません自分の質問と間違えました
guest

回答1

0

ベストアンサー

正規表現は難しいので単純にどれかの端末名が入っているかで
判別したほうがやりやすいかと

PHP

1$device_list=array( 2 "Android", 3 "iPhone", 4 "iPad", 5); 6foreach($device_list as $d_){ 7 if(strpos($_SERVER["HTTP_USER_AGENT"],$d_)!==false){ 8 $device=$d_; 9 break; 10 } 11} 12echo $device;

投稿2017/08/24 09:07

buteneko_san

総合スコア34

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問