301st redirect in Wordpress (from a domain without www to a domain with www)

The content of the file .htaccess

# BEGIN WordPress
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>
# END WordPress

I tried to add

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

Or

RewriteEngine On
RewriteCond %{HTTP_HOST}    !^www\.(.*) [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

Or

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

None of these options work. What am I doing wrong?

Author: Denis Zheleznyak, 2016-02-08

2 answers

RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]
 1
Author: LevBazdyrev, 2016-02-08 08:55:10

I found the same opportunity to make the main domain with or without www in the Wordpress settings in the admin panel (Settings -> General)

 1
Author: Denis Zheleznyak, 2016-02-08 09:58:00