apache 反向代理的使用:
需要为 apache 加载模块:
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so
海外虚拟主机设置:
<VirtualHost *:80> ServerName www.a.b ServerAlias a.b ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://a.b.proxy.upall.cn/ ProxyPassReverse / http://a.b.proxy.upall.cn/ </VirtualHost>
说明:
upall.cn已备案,所以upall.cn的其它二级域名也是可以正常使用的,要做的就是找一个备过案的域名,让期为 a.b 提供一个二级域名使用。
然后在海外通过 apache 的反向代理功能将 a.b.proxy.upall.cn 转换为 a.b。
防止自己的网站被别人“反向代理”:
<?php /** * 说明:反代理 * 作者:upall,http://upall.cn * 日期:17:18 2011年7月1日 星期五 */ $svrUrl = 'http://' . $_SERVER['SERVER_NAME'].$_SERVER["PHP_SELF"]; if (!empty($_SERVER["QUERY_STRING"])) $svrUrl .= "?".$_SERVER["QUERY_STRING"]; ?> <script type='text/javascript'> var topUrl = top.location; // 这里貌似不是标准的JS写法? var svrUrl = '<?php echo $svrUrl;?>'; // 如果浏览器的URL不是自己的URL就。。。。 if(topUrl != svrUrl) top.location= svrUrl; </script>
<完>