みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

.htaccessでのリダイレクト

.htaccessのリダイレクトで困っています。
.htaccessのリダイレクトが不得手なのでお聞きしたいのですが、
PC用のWEBデータが「/pc/」ディレクトリに入っています。
スマホ用のWEBデータが「/sp/」ディレクトリに入っています。

WEBのルート「/」には何も入っていないのでアクセスがあった場合は、PCの場合は「/pc/」に、スマホの場合は「/sp/」に移動させたいです。

でも、スマホから「/pc/」にアクセスがあった場合は、「/sp/」に移動はさせたいのですが、PCから「/sp/」にアクセスがあった場合はそのまま表示したいです。
さらに、例えば「/pc/access.html」にスマホからアクセスがあった場合は、「/sp/access.html」を表示させたいです。PCとスマホで対応するファイルは全て存在します。

そのような場合の.htaccessの記述方法はどのようになるのでしょうか?
ご存じの方がいましたらよろしくお願いします。

投稿日時 - 2017-04-14 17:29:10

QNo.9317510

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

てすとしてませんが、こんな感じでしょうか。
ReWriteEngin On

ReWriteCond %{REQUEST_URI} !^/pc/
ReWriteCond %{REQUEST_URI} !^/sp/
ReWriteCond %{USER_AGENT} スマホ
ReWriteRule ^(.*) /sp/$1 [R,L]

ReWriteCond %{REQUEST_URI} !^/pc/
ReWriteCond %{REQUEST_URI} !^/sp/
ReWriteCond %{USER_AGENT} PC
ReWriteRule ^(.*) /pc/$1 [R,L]

ReWriteCond %{USER_AGENT} スマホ
ReWriteRule pc/(.*) /sp/$1 [R,L]

投稿日時 - 2017-04-15 09:22:56

ANo.1

PCとスマホを何を基準に識別しようとお考えですか?
それによって .htaccess の書き方は変わってきます。

投稿日時 - 2017-04-14 17:34:55

あなたにオススメの質問