On 10/22/07, Krist van Besien <[EMAIL PROTECTED]> wrote:
> On 10/22/07, BP Jonsson <[EMAIL PROTECTED]> wrote:
> > How should I write a rewrite rule so that it appears to
> > visitors that they are at http://foo(.*) but the files
> > reside at http://bar/site/foo? Supposing that the rewrite
> > rule is in a .htaccess under the foo root directory, what
> > should it look like?
>
> ReWriteRule    http://foo.com/     http://bar.com/site/foo   [P]

No. The first argument to RewriteRule is a url-path, not an absolute URL.

The original question wasn't completely specified, since we don't know
if foo and bar reside on the same machine or not. If they do, you can
use a simple virtual host in httpd.conf:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName bar
DocumentRoot /path/to/bar
</VirtualHost>
<VirtualHost *:80>
ServerName foo
DocumentRoot /path/to/bar/site/foo
</VirtualHost>

If they don't reside on the same machine, you do indeed need to proxy,
and mod_rewrite is probably the right tool. You'll need a

RewriteCond %{HTTP_HOST} ^foo$ [NC]
RewriteRule (.*) http://bar/site/foo/$1 [P]

You may also need a ProxyPassReverse directive.

Joshua.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
   "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to