mod_rewrite の記述について
.htaccess に、mod_rewrite の記述を書いて、以下のようなことをしたいのですが、
1.http://www.example.com/abc/ の場合
URLはそのままで、内容は /main/abc/以下 (の同名ファイル)を表示
2.http://www.example.com/main/abc/ の場合
URLは http://www.example.com/abc/ になり、内容は/main/abc/を表示
以前教えていただいた以下の記述でできるのですが、ディレクトリが追加されたら、.htaccess にも追加が必要になってしまいます。
どのように実現すればよいでしょうか?
------------------------------------------------------------
RewriteCond %{REQUEST_URI} ^/main/(.*)$
RewriteCond %{HTTP:My_Redirect} !yes
RewriteRule ^main/(.+)$ http://example.com/$1 [QSA,R]
RewriteCond %{REQUEST_URI} ^/(abc|aaa|bbb|ccc|ddd)/
RequestHeader set My_Redirect yes
RewriteRule ^(.*)$ /main/$1 [QSA,L]
------------------------------------------------------------
お礼
ありがとうございます。 教えてくださった6行の記述でできました。 度々もうしわけないのですが、 (abc|aaa|bbb|ccc|ddd)の部分ですが、ディレクトリが増えるごとに追加しなくてはならないのですが、ディレクトリが増えてもここに記述しなくてすみようにはなりますでしょうか?
補足
あと、 http://example.com/main/abc/ とアクセスされた場合に、 http://example.com/abc/ にして表示するようにはできなかったのですが、いかがでしょうか。 ただし、http://example.com/main/abc/で表示はできています。