重写URL www.domain.com在我的页面上导致404

Ok so I've rewrited URL in my website, now for some reason, it is throwing 404 error if I type www.domain.com, if I type domian.com, everything works fine.

DirectoryIndex home.php

IndexIgnore *
#RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
#RewriteRule ^(.*)$ http://%1/directory/$1 [L,R=301]

RewriteRule ^home/?$   home.php  [NC]
RewriteRule ^about/?$   about.php  [NC]

RewriteRule ^404/?$   404.php  [NC]

ErrorDocument 404 http://domain.com/directory/404

Note: I've commented the 1st 2 rewrite rules as even If I change them it doesn't effect after uploading .htaccess to server, feels like it's cached.

Additional Info, am using <base> tag which is in embeds.php

if($_SERVER['REMOTE_ADDR'] == '::1') {
    echo '<base href="http://localhost/projects/directory/" />';
} else {
    echo '<base href="http://domain.com/directory/" />';
}

Directory Structure

Root -
  home.php
  about.php
     -stylesheets
      default.css
     -includes
      embeds.php
  404.php
  .htaccess

embeds.php is included in home.php, about.php etc, and stylesheets, scripts etc, inshort the head section along with <base> tag are in embeds.php

RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule ^(.*) http://www.domain.com/$1  [QSA,L,R=301]

It should work, if it dosn't it comes from your DNS, or Vhost configuration.

It was also an issue of firefox, which was caching my .htaccess file

Here are some useful links which might help other users referring to this question

Apache - how to disable browser caching while debugging htaccess

htaccess file somehow being cached?