ubuntu apache2 mod_proxy替换内部url

时间:2012-01-29 15:10:29

标签: ubuntu apache2 mod-proxy

我已经按照我在Google上找到的所有指南进行了操作,但仍无法解决此问题!

我已设法设置mod_proxy以撤回内部网站,但该网站添加了对外部用户无效的菜单项的内部链接,因此我尝试将它们从.int域重写为{{ 1}}域名。

我有以下虚拟主机。

.com

我确保已加载组件

<VirtualHost *:80>
    ServerName shop.itmanx.com

    ProxyRequests Off
    ProxyPreserveHost On
    #ProxyHTMLInterp On     #used to be ProxyHTMLEnable
    #ProxyHTMLExtended On   #will parse all scripts and css files as well [slow if on]

    ProxyPass / http://shop.itmanx.int/
    ProxyPassReverse / http://shop.itmanx.int/
    #ProxyHTMLURLMap / /test/
    ProxyHTMLURLMap (.*)itmanx.int(.*) $1itmanx.com$2 [Rin]

    <Location />
        Order allow,deny
        Allow from all
    </Location>
</VirtualHost>

但没有更改链接。那我错过了什么?

服务器是Ubuntu Server 11.10

1 个答案:

答案 0 :(得分:1)

好哇!!!感谢Hudson的人引用了以下内容:

  

因为hudson已经压缩了它的输出,所以你无法正常使用   proxy-html过滤器修改网址:`

     

SetOutputFilter proxy-html

     

相反,您可以使用以下内容:

     

SetOutputFilter INFLATE; proxy-html; DEFLATE;

由于这一行,它现在正在运作

<VirtualHost *:80>
    ServerName shop.itmanx.com
    SetEnv proxy-nokeepalive 1

    ProxyPass / http://shop.itmanx.int/
    ProxyPassReverse / http://shop.itmanx.int/
    ProxyRequests Off

    SetOutputFilter INFLATE;proxy-html;DEFLATE;
    ProxyHTMLURLMap (.*)itmanx.int(.*) $1itmanx.com$2 [R]
</VirtualHost>