I\'ve tested the code below on several domains hosted on Dreamhost and it works—except on newer domains I\'ve added within the last year.
RewriteEngine on
You are redirecting to $1 in both cases, and you don't have a RewriteBase directive to tell Apache where to root such a relative path.
$1
Try adding a root slash before the $1 to anchor it to the root of your webserver, for instance:
RewriteRule ^(.*)$ /$1.php [L]