title: .htaccess - How to redirect non-www to www
body: <p>I am facing a very weird issue regarding redirect <strong>example.com</strong> to <strong>www.example.com</strong></p>
  
  <p>I have surf internet and tried lot of things like as below</p>
  
  <pre><code>RewriteEngine On
  RewriteCond %{HTTP_HOST} !^www\.
  RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
  </code></pre>
  
  <p>But it only works if my url is, <strong>example.com/something</strong> then it redirects to <strong>www.example.com/something</strong> but it doesn't works for normal simple domain name.</p>
  
  <p>It doesn't works for <strong>example.com</strong> only</p>
  
  <p>I have tried other options like as below</p>
  
  <pre><code>RewriteEngine On
  RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
  RewriteCond %{HTTP_HOST} !^(.*)\.(.*)\. [NC]
  RewriteCond %{HTTPS}s ^on(s)|
  RewriteRule ^ HTTP%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  </code></pre>
  
  <p>Other one, </p>
  
  <pre><code>RewriteEngine On
  RewriteCond %{HTTP_HOST} !^$
  RewriteCond %{HTTP_HOST} !^www\. [NC]
  RewriteCond %{HTTPS}s ^on(s)|
  RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  </code></pre>
  
  <p>My full .htaccess file is as below</p>
  
  <pre><code>RewriteEngine On
  RewriteBase /
  
  # If an existing asset or directory is requested go to it as it is
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
  RewriteRule ^ - [L]
  
  #RewriteCond %{HTTP_HOST} !^www\.
  #RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
  
  #RewriteCond %{HTTP_HOST} !^$
  #RewriteCond %{HTTP_HOST} !^www\. [NC]
  #RewriteCond %{HTTPS}s ^on(s)|
  #RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  
  # If the requested resource doesn't exist, use index.html
  RewriteRule ^(.*) #/$1
  
  &lt;IfModule mod_deflate.c&gt;
    # Compress HTML, CSS, JavaScript, Text, XML and fonts
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
    AddOutputFilterByType DEFLATE application/x-font
    AddOutputFilterByType DEFLATE application/x-font-opentype
    AddOutputFilterByType DEFLATE application/x-font-otf
    AddOutputFilterByType DEFLATE application/x-font-truetype
    AddOutputFilterByType DEFLATE application/x-font-ttf
    AddOutputFilterByType DEFLATE application/x-javascript
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE font/opentype
    AddOutputFilterByType DEFLATE font/otf
    AddOutputFilterByType DEFLATE font/ttf
    AddOutputFilterByType DEFLATE image/svg+xml
    AddOutputFilterByType DEFLATE image/x-icon
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/javascript
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/xml
  
    # Remove browser bugs (only needed for really old browsers)
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
    Header append Vary User-Agent
  
  &lt;/IfModule&gt;
  
  Options -Indexes
  </code></pre>
  
  <p>Can somebody help me regarding this?</p>