Это потому, что корневой путь равен /
, и вы добавляете все, что получаете в RewriteRule
(первый случай работает нормально, потому что не соответствует условию, поэтому перезапись не выполняется ).
Вы можете попробовать что-то вроде этого:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mydomain\.com$ [NC]
# for the home page
RewriteRule ^/$ http://www.mydomain.com/ [R=301,L]
# for the rest of pages
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]