[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Apache2 & mod_rewrite



Simo Kauppi ha scritto:

It seems to me that the conditions for the first domain say that
any hostname which is not www.doamin1.com should go to www.domain1.com.
I.e. Apache is doing exacly as asked (domain2.com != www.domain1.com) :)

I guess you want requests to http://domain2.com to go to the second
virtual host and www added at the front?  IIRC Apache looks for the
virtual host files in /etc/Apache2/sites-enabled/ directory in the order
their appear. That's why I use the 001-site1, 002-site2 etc to make them
appear alphabetically in the right order.

But back to your question. You need a condition to tell domain1 that it
only takes requests for domain1, i.e.,

VirtualHost for site www.domain1.com
...
 RewriteCond %{HTTP_HOST}   ^.*domain1\.com [NC]
RewriteCond %{HTTP_HOST}   !^www\.domain1\.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://www.domain1.com/$1 [L,R]

or something like that, and same for other hosts as well. It's late so
double-check the syntax :)

And don't forget http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

Hope this helps...

Simo

Hi Simo,

I have test with your settings but I have still problems. This is the configuration of 000-domain1.com

NameVirtualHost 1.2.3.4:80

<VirtualHost 1.2.3.4:80>

ServerName www.domain1.com

DocumentRoot /var/www/domain1/

RewriteCond %{HTTP_HOST}   ^.*domain1\.com [NC]

RewriteCond %{HTTP_HOST}   !^www\.domain1\.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://www.domain1.com/$1 [L,R]
</VirtualHost>

This is the configuration for 001-domain2.com

<VirtualHost 1.2.3.4:80>

ServerName www.domain2.com

DocumentRoot /var/www/domain2/

RewriteCond %{HTTP_HOST}   ^.*domain2\.com [NC]
RewriteCond %{HTTP_HOST}   !^www\.domain2\.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://www.domain2.com/$1 [L,R]
</VirtualHost>

These are the results:

http://domain1.com --> http://www.domain1.com OK (and I see domain1 site)
http://domain2.com --> http://domain2.com NO!!!! (and I see domain1 site)!!!

I would want http://domain2.com --> http://www.domain2.com (and I see domain2 site)

Where is the mistake??
Thanks

Marco




Reply to: