トリトン回答ポイント 500ptウォッチ

.htaccess に関しての質問です。PCとスマホの振分けを行います。

aaa.jp で、スマホでaaa.jp/test.htmlにアクセスがあれば、aaa.jp/sp/test.htmlにリダイレクトさせたいのですが、リダイレクトのURL(aaa.jp/sp/test.html)が404であれば、リダイレクトせず、aaa.jp/test.htmlになるようにしたいです。

以下の流れを考えましたが、別の仕様でも問題ありません。

1、スマートフォンかどうか
2、リファラーに、「aaa.」が含まれているかどうか
3、リクストされたURLに「/sp/」が含まれていないかどうか
4、リクストされたURLの「.jp」を「.jp/sp/」に置換
5、4で置換したURLが404でなければ、リダイレクトし、404であればリダイレクトしない
※2、で、リファラーをチェックするのは、「PCページへ移動」ボタンを設置するための処理です。

自分で下記を作成しましたが、4,5が分かりませんでした。
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} (iPhone|iPod|Android.*Mobile)
RewriteCond %{HTTP_REFERER} !aaa\.
RewriteCond %{REQUEST_URI} !/sp/
RewriteRule ^(.*)$ /sp/$1 [R,L]

具体的な.htaccessの記述での回答お願いします。

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

ベストアンサー

その他の回答

この質問へのコメント

コメントはありません

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2014-06-20 07:54:57
終了日時
2014-06-27 07:55:05
回答条件
1人5回まで

この質問のカテゴリ

この質問に含まれるキーワード

HTTP_REFERER15.htaccess519REQUEST_URI42Android1409iPhone2074スマートフォン801iPod893スマホ1351リファラー46AAA765HTML5036リダイレクト414URL11376

人気の質問

メニュー

PC版