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?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With