apacheでaliasを使用したときのrewriteではまる。。

apacheの設定(httpd.conf)で↓のようにaliasを設定
DocumentRoot /home/htdocs/
Alias /test/ "/home/test/"


http://test.jp/test/
でアクセスすれば/home/test/内が表示される。


そこで、
http://test.jp/test/

https://test.jp/test/
へリダイレクトしたいとする。


/home/test/.htaccessに↓を記載する
# Only SSL
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://test.jp/$1 [R,L]


しかしこれでは
http://test.jp/test/

https://test.jp/
へリダイレクトされてしまう。


/test/はaliasで設定されているため、
^(.*)?$
は↓のxxxxxの部分しかマッチしないので、$1に「test/」は含まれない。。
http://test.jp/test/xxxxx



なので、↓のように書くのが正解。
# Only SSL
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://test.jp/test/$1 [R,L]