我有一个在 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 内部服务器错误。事件日志中没有任何内容。所以我打开了 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 进行调试,但盒子上其他网站的流量太多)
有任何想法吗?
答案1
我发现这两个域都在同一个盒子里,这是一个问题。
传出的代理请求无法解析到本地计算机。很奇怪。
将 127.0.0.1 www.domain.com 添加到 hosts 文件并且它可以正常工作。