Если я правильно помню, ^
просто устанавливает правило регулярного выражения в соответствии с началом строки.
Скобки используются для извлечения этой части с переменными $ 1-9.
Еще одно решение из Nginx вики. Ссылка
server {
server_name www.example.com;
rewrite ^ http://example.com$request_uri? permanent;
}