質問: お世話になっております。 ### 前提・実現したいこと .htaccessでPCとスマホ(携帯)のページの振り分けを行っています。 フォルダ構成は下記の通りです。 /aaa/pc/p1/index.html /aaa/pc/p2/index.html /aaa/pc/p3/index.html : /aaa/sp/s1/index.html /aaa/sp/s2/index.html /aaa/sp/s3/index.html : /aaa/、/aaa/pc/、/aaa/sp/の配下に.htaccessを配置しています。 下記、問題を解消したいのですが、.htaccessの記述で実現可能でしょうか。 スマホで/aaa/pc/*にアクセスした際は/aaa/sp/に遷移させたい。 PCで/aaa/sp/*にアクセスした際は/aaa/pc/に遷移させたい。 ### 発生している問題・エラーメッセージ /aaa/にアクセスした際はPCとスマホの振り分けは問題ないのですが、 スマホで/aaa/pc/にアクセスすると/aaa/pc/の内容が表示されてしまう。 (その逆、PCで/aaa/sp/にアクセスしても同様です) ### 該当のソースコード 【/aaa/配下】 RewriteEngine on RewriteCond %{REQUEST_URI} !^/sp/.*$ RewriteCond %{HTTP_USER_AGENT} (iPod|iPhone|iPad|Android|Windows\ Phone|DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank) [NC] RewriteCond %{REQUEST_URI} !/?js/? RewriteCond %{REQUEST_URI} !/?css/? RewriteCond %{REQUEST_URI} !/?img/? RewriteRule ^(.*)$ /aaa/sp/$1 [R=302,L] RewriteBase / RewriteCond %{REQUEST_URI} !/?js/? RewriteCond %{REQUEST_URI} !/?css/? RewriteCond %{REQUEST_URI} !/?img/? RewriteRule ^(.*)$ /aaa/pc/$1 [R=302,L] RewriteBase / 【/aaa/pc/配下】 RewriteEngine off 【/aaa/sp/配下】 RewriteEngine off お手数ですが、何卒よろしくお願いいたします。
回答: ディレクティブの適用のされ方 ここに書かれていますが、上の階層の`.htaccess`は下の階層の`.htaccess`によって上書きされます。 つまり、`/aaa/pc/`や`/aaa/sp/`に書かれている、`RwriteEngine off`が有効になり、書き換えは行われません。