2016-11-03 14 views
0

的是较旧的Ubuntu(12.04)使用Apache 2.2 ...Apache 2.2的改写与代理

想有一个路径代理到另一个域(但保留在浏览器的URL不变)。试过以下,因为代理的东西不htaccess允许的(假设没有为Apache 2.2,但也许以后的版本):

<VirtualHost *:80> 
    ProxyRequests Off 
    ProxyPreserveHost On 

    SSLProxyEngine on 

    <Proxy *> 
    Allow from all 
    </Proxy> 

    ProxyPass /axis <some domain> 
    ProxyPassReverse /axis <some domain> 
</VirtualHost> 

这工作,但不是在目标域重定向。例如,如果某个域重定向到/somepath,那么代替指向http://<my domain>/axis/somepath,结果是http:://<my domain>/somepath,这是未定义的。

问题是如何强制我的域下的路径下的所有内容(例如/axis)与其他域匹配?

回答

0

应用程序应该知道用于访问它的URL结构,非常善于推断它,或者使用精心制作的相对URL(而不是根相对),以便它基本无关紧要。问题是内容必须包含公共URL,否则您必须后处理所有内容,这很困难且容易出错。

尝试将<some domain>网站的内容从根目录移动到axis子目录。你可能不得不改变一些东西,但至少URL结构将是相同的。

如果系统的设计目的不是从子目录运行,除了修复它创建的URL之外,没有(可靠的)选择。