Нет, они не одинаковы.
Первый говорит, перенаправить на хост example.com
, если хост www.example.com
.
Второй говорит, перенаправить на www.example.com
, если хост не www.example.com
.
И даже если вы переписываете второе на следующее (оба правила перенаправляются на example.com
:
RewriteCond %{HTTP_HOST} !^example\.com$
RewriteRule (.*) http://example.com/$1 [L,R=301]
Так что он будет перенаправлен на example.com
, если хост не является example.com
. Результат может быть таким же, если хост может быть только www.example.com
и example.com
. Но если он может иметь больше значений, чем это (например, foobar.example.com
), ваше первое правило не будет перенаправлять, а мой будет перенаправлять.