I have two domains pointing to a site hosted by apache2 (a.com and b.com for example). The primary domain is a.com and the website can be accessed from this domain.

However, the page a.com/test/ should redirect to b.com (not b.com/test/) to display the content from the server (as it normally would for a.com/test/) and this content should also be displayed if b.com is accessed directly.

I thought that reverse proxies might be the way to go but haven’t had any luck, I was wondering if this is possible to do within my .htaccess file (both domains are pointing to the server).

2 comments

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
1 answer

Hi, you should be able to do this through a proxy RewriteRule. When you said you’d tried that and it didn’t work, did you mean the site appeared broken or that you couldn’t get the RewriteRule to work? If the issue was that the site appeared broken, keep in mind that “b.com” in your example needs to send back HTML to the browser that is completely valid, including all URLs being valid with how it references them. If the HTML sent back when you access “b.com” uses URLs starting with “/” that use paths that only exist on “a.com”, that will result in broken URLs.

The proxy approach works great (I’ve used it before) but it does exactly what you tell it and browsers will continue to work exactly as they do. The browser doesn’t know there’s any relationship between “a.com” and “b.com”, so if the HTML on “b.com” has paths like “/img/foo.png” that actually only exist on “a.com”, you’ll get 404’s.—Of course, you may be able to solve that with more RewriteConds/RewriteRules (e.g. check if any requested file exists, if not, proxy through to a.com).

Submit an Answer