I have written a RewriteRule which works on the basis of HTTP_HOST (www.domainname.com), but I want it to work on the basis of the domain name part only (domainname.com).
To clarify further
The folder structure is /var/www/domainName.com
.
When I write this rule in apache conf file
RewriteRule ^/js/(.*) /%{HTTP_HOST}/js/$1 [L]
and access the site using www.mydomain.com -- it tries to find the folder /var/www/www.domainName.com
, which does not exist.
So, I need to convert the above-mentioned rule to remove the "www" from the HTTP_HOST.
I would suggest that you redirect requests rather than make the same site available in two places. Either create a new VirtualHost to redirect traffic:
Or add a set of rules above your others that will detect the presence of the www. prefix and redirect the user:
If you really want your site on both domain names without any redirection, you can use a RewriteCond to pull out just the domain name, and it will be available to the RewriteRule as %1.
I doubt if you can do that, wouldn't it be easier just to create links to appropriate directories?
Have you tried using
%{DOCUMENT_ROOT}
?Also possible, if you have set
Servername
in your vhost to the same name you use in your directory structure, eg:Then you can use
%{SERVER_NAME}
in your rewrite-rule.as i understand you question, just set your DocumentRoot to the right directory: