2010-03-09 60 views
1

我知道你可以将子域名重定向到不同的服务器,但是你可以对文件夹执行相同的操作吗?将文件夹重定向到不同的服务器

说我有example.com。我可以将mysubdomain.example.com重定向到其他服务器,但是我可以将example.com/mysubdomain重定向到其他服务器吗?我想在一个运行php的站点上的文件夹中托管一个rails应用程序,同时仍然保持良好的搜索引擎评级(通过不创建一个子域,在我的经验中被认为是一个不同的网站)。

任何帮助?

谢谢!

+1

你可能有更好的运气问这在serverfault.com。 – mlsteeves 2010-03-09 00:34:54

回答

2

正如brock Batsell所说,解决方案可以代理请求。您通常会在使用长轮询服务(如聊天)的Web应用程序中发现此行为,并需要将这些服务代理到第二台Web服务器以减轻主服务器上的负载(通常为apache + lighhtpd)

这里是基本用法(使用Apache假设您选择,和其他Web服务器正在侦听的端口81上):

LoadModule proxy_module modules/mod_proxy.so 
LoadModule proxy_connect_module modules/mod_proxy_connect.so 
LoadModule proxy_http_module modules/mod_proxy_http.so 
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so 

ProxyRequests Off 
ProxyPreserveHost On 
proxypass /folder-to-proxy http://localhost:81/folder 
proxypassReverse /folder-to-proxy http://localhost:81/folder 

<Proxy http://localhost:81/> 
    Order Allow,Deny 
    Allow from all 
</Proxy> 

只是你的第二个服务器主机和端口更换localhost和端口号。

请注意,即使您不需要代理ftp流量,在apache中也必须启用proxy_ftp_module

1

只能通过代理,可以到/ mysubdomain文件夹中的所有请求转发到特定的IP和端口,获得响应,然后返回给用户的响应透明地做到这一点。

几乎任何主流Web服务器将有一个模块要做到这一点,如果你有超过它的配置文件控制。 (Apache有mod_proxy,nginx有HTTP代理,lighttpd有自己的mod_proxy。)

+0

+1用于mod_proxy,通常用于将某些流量切换到另一个网络服务器(例如,用于长轮询服务(又名聊天)的lighttpd) – Strae 2010-03-09 00:50:42

相关问题