例えばドメインが「http://example.com/」でドキュメントルートが「/virtual/example/public_html/」として、「/virtual/ユーザー名/public_html/test/」に.htaccessを置いて
RewriteEngine On
Options FollowSymLinks
RewriteBase /test
RewriteRule aaa¥.html /test/bbb.html
と指定すると「http://example.com/test/aaa.html」にアクセスしたときちゃんと「http://example.com/test/bbb.html」に転送されます。
しかし、ドキュメントルートの直下「/virtual/example/public_html/」に.htaccessを置いて
RewriteEngine On
Options FollowSymLinks
RewriteBase /
RewriteRule aaa¥.html /bbb.html
と指定した場合は「http://example.com/aaa.html」が「http://example.com/bbb.html」に転送されません。これはどうしてなのでしょう? 何か記述が間違っているのでしょうか・・・。初心者なのでサーバーの設定などについてあまりよくわかっていないのですが、対策を教えていただけると嬉しいです。
RewriteBase /
だと
aaa.html に「/」を補完する、つまり
http://example.com//aaa.html というリクエストに対応することになります。
なのでドキュメントルートの場合は RewriteBase は不要です。
ルールも
RewriteRule aaa¥.html bbb.html
に変更してください。