Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rewrite URL www.domain.com causing 404 on my page

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

like image 367
Random Guy Avatar asked Apr 10 '13 07:04

Random Guy


2 Answers

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.

like image 173
Ianis Avatar answered Sep 28 '22 10:09

Ianis


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?

like image 41
Random Guy Avatar answered Sep 28 '22 10:09

Random Guy