Mod Rewrite:你如何重写URL的主目录?

时间:2010-01-18 07:27:43

标签: apache mod-rewrite

我的VPS上有一个目录结构,如下所示:

/www
  /site_one
  /site_two

前往www.siteone.com会将您带到服务器上的/ www / site_one /。我想使用mod_rewrite将www.siteone.com/thing/的请求指向目录/ www / site_two / thing。

我尝试过基本的重写,如:

RewriteRule ^page.html$ /www/site_two/new_page.html

但/指/ www / site_one /

有没有办法让它从我喜欢的目录中提供页面?

修改

回答以下问题:

@Ignacio我不确定我是否遗漏了重要的东西。全新的mod_rewrite。

@outis:是的,这两个网站都是虚拟主机。 www.site_one.com映射到/ www / site_one /并且www.site_two.com映射ot / www / site_two

1 个答案:

答案 0 :(得分:1)

提供完整的网址,隐式重定向:

RewriteCond %{HTTP_HOST} (.*\.)site_one\.com$
RewriteRule ^/?(thing(/.*)?) http://%1site_two.com/$1

要在没有重定向的情况下实现此目的,/ www / site_two中的文档必须可以通过site_one.com域中的URL访问;从/ www / site_one / site_two到/ www / site_two的符号链接可能会这样做。