質問: .htaccessで PC、モバイル同一アドレスにしたいと思っています。 SPディレクトリが、PCディレクトリのサブディレクトリになっています。 PCサイト : http://example.com/ SPサイト : http://example.com/sp/ 同一ページは同一のファイル名になっています。 PCサイト : http://example.com/page01.html SPサイト : http://example.com/sp/page01.html 下記のソースコードで問題なく動作していますが、 モバイルで直接 http://example.com/sp/page01.html にアクセスした場合も アドレスバーには http://example.com/page01.html となるようにできないでしょうか? どうぞよろしくお願いいたします。 RewriteEngine on RewriteCond %{REQUEST_URI} !/sp/ RewriteCond %{HTTP_USER_AGENT} (iPod|iPhone|Android.*Mobile|Windows.*Phone|DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank) [NC] RewriteRule ^(.*)$ /sp/$1 [L] RewriteBase / RewriteCond %{REQUEST_URI} /sp/ RewriteCond %{HTTP_USER_AGENT} !(iPod|iPhone|Android.*Mobile|Windows.*Phone|DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank) [NC] RewriteRule ^sp/(.*)$ $1 [R] RewriteBase /
回答: Apache httpd 2.4 であれば、`[END]` フラグが使えると思います。 ``` RewriteEngine on RewriteBase / RewriteRule ^sp/(.*)$ $1 [R] RewriteCond %{REQUEST_URI} !/sp/ RewriteCond %{HTTP_USER_AGENT} (iPod|iPhone|Android.*Mobile|Windows.*Phone|DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank) [NC] RewriteRule ^(.*)$ /sp/$1 [END] ```