apache mod_rewrite子域到dir

时间:2010-12-23 21:34:13

标签: apache mod-rewrite directory subdomain

嗨,伙计们 我有4台服务器, 我想将它们与一个域合并 例如, 我现在在做什么

games.example.org www.example.org 等.. 我想

如果有人访问www.example.org/games/

我想在浏览器中显示www.example.org/games/虚拟但实际上它的文件将托管在games.example.org服务器中?

怎么样?

1 个答案:

答案 0 :(得分:4)

纯mod_rewrite规则是不够的,因为它们还需要mod_proxy以使子请求正常工作。特别是如果您希望在回送页面时自动重写所有绝对链接。如果您具有对Apache的完全访问权限,则可以在www.example.org域的虚拟主机部分中使用此代码:

<Location  /games>
        ProxyPassReverse http://games.example.org
        ProxyPassReverse http://games.example.org:80

        RewriteEngine On
        RewriteRule games(.*)$ http://games.example.org/$1 [QSA,P,L]
</Location>

最后一个RewriteRule实际上是你需要的,但除非你也可以加载mod_proxy,否则“P”标志可能不会起作用。确保使用限制性最强的设置加载mod_proxy,并通过ProxyPass指令允许代理请求。

同样,ProxyPassReverse也无法在.htaccess中使用。它必须在Apache vhost配置中。

希望有所帮助!