CakePHPをトップディレクトリから利用しています。
http://********/ でアクセスする感じ
このとき、 http://********/pc/ へのアクセスは Rewrite させたくないなぁと思い、 htdocs/.htaccess の中に RewriteCond を指定したのですがどうにこうにも上手くいきませんでした。
なんでじゃぁぁぁ とクタクタになりかけたその時、こちらのサイトの一文がすごく参考に‥。
.htaccessの書き方 (murashun.jp)
RewriteCondの処理順は、どうやら先に RewriteRule をマッチングで確認し、その後にその上に書かれている条件 RewriteCond のマッチングをして処理にすすむ仕様のようです。
つまり、
とかかれている場合は、まず条件 C にマッチして、かつ A が B にマッチする場合は HOGEEEE にぶっ飛ばす動きとなります。
これを踏まえ、先ほどの .htaccess を下記のように変更しました。
無事にリダイレクトされないようになりました!!!
恐るべしスイス製アーミーナイフ。
今更ながら、同じような状況で困って検索していたら、こちらの記事を見つけました。
お蔭様で、RewriteCondの順番を入れ替えたら上手くいきました。
非常に嬉しかったので、せめて御礼をと思い、コメント致します。
ありがとうございました!
コメントありがとうございます。
お役に立てて良かったです!!
まさかそこか‥ と思える点ですよね。。。私もこれに気が付くまで苦労しました。。。。
単純に
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/pc/
RewriteRule ^(.*)$ app/webroot/$1 [L]
で済む話ですね。