我有一个运行在 www.domain.com 的网站。客户现在希望网站看起来在 www.otherdomain.com/whatson/brand/ 下运行
由于该网站是 umbraco,它不会在子文件夹下运行。
我想使用 ISAPI 重写来代理对 www.domain.com 的请求,使用 www.otherdomain.com/whatson/brand/ 的 .htaccess 中的以下规则
RewriteRule ^(.*)$ http://www.domain.com/$1 [P,L]
但是,当我应用它时,我得到一个丑陋的 500 Internal Server Error。事件日志中没有任何内容。于是我开启了ISAPI日志,可以看到如下
111.111.111.111 111.111.111.111 Tue, 12-Jan-2010 13:05:24 GMT [www.otherdomain.com/sid#2045305275][rid#26337200/initial] (2) init rewrite engine with requested uri /whatson/brand/home.aspx
然后它测试服务器上的所有其他重写规则。
那么这个
111.111.111.111 111.111.111.111 Tue, 12-Jan-2010 13:05:24 GMT [www.otherdomain.com/sid#2045305275][rid#26337200/initial] (1) Htaccess process request w:\websites\otherdomain.com\docs2\whatson\brand\.htaccess
111.111.111.111 111.111.111.111 Tue, 12-Jan-2010 13:05:24 GMT [www.otherdomain.com/sid#2045305275][rid#26337200/initial] (3) applying pattern '^(.*)$' to uri 'home.aspx'
111.111.111.111 111.111.111.111 Tue, 12-Jan-2010 13:05:24 GMT [www.otherdomain.com/sid#2045305275][rid#26337200/initial] (2) forcing proxy-throughput with http://www.domain.com/home.aspx
111.111.111.111 111.111.111.111 Tue, 12-Jan-2010 13:05:24 GMT [www.otherdomain.com/sid#2045305275][rid#26337200/initial] (1) go-ahead with proxy request http://www.domain.com/home.aspx [OK]
111.111.111.111 111.111.111.111 Tue, 12-Jan-2010 13:05:24 GMT [www.otherdomain.com/sid#2045305275][rid#26337200/initial] (2) rewrite 'home.aspx' -> '/whatson/brand/home.aspxx.rwhlp?p=0'
111.111.111.111 111.111.111.111 Tue, 12-Jan-2010 13:05:24 GMT [www.otherdomain.com/sid#2045305275][rid#26337200/initial] (2) internal redirect with /whatson/brand/home.aspxx.rwhlp?p=0 [INTERNAL REDIRECT]
所以它似乎根据日志工作,但我没有看到页面通过..
值得注意的是 www.domain.com 和 www.otherdomain.com 在同一个盒子上。LogLevel 为 3,RewriteLogLevel 为 3(我尝试使用 9 并进行调试,但通过盒子上其他站点的流量过多)
有任何想法吗?
我发现这是两个域都在同一个盒子上的问题。
传出代理请求无法解析到本地计算机。诡异的。
将 127.0.0.1 www.domain.com 添加到主机文件中,它正在工作。