需求:有一个apache站点foobar.mysite.net,其中一个目录里的文件与另一站点的某目录内容完全一致。假设该目录为/php, 是一套php程序,因为它使用了cookie,但cookie不能跨域,所以要分别部署在这两个站点下。这里可以通过反向代理,使对站点http://foobar.mysite.net/php/***的访问实际由http://www.mysite.net/php/***处理。
采用如下的设置,相关代码已经加粗着色(如没有着色,请到这里https://blog.path8.net/archives/5989.html阅读)。其中
<VirtualHost *:80> DocumentRoot "/var/www/html/vhosts/foobar.mysite.net/html" ServerName foobar.mysite.net <IfModule mod_php5.c> php_admin_value open_basedir "/var/www/html/vhosts/foobar.mysite.net/html/:/tmp" </IfModule> ProxyPass /php http://www.mysite.net/php ProxypassReverse /php http://www.mysite.net/php ProxypassReverseCookieDomain www.mysite.net foobar.mysite.net </VirtualHost>
看参考,对指定目录设置反向代理也是可以的,但没有成功,不知哪里有错误,还请高手指教,配置如下。
#<Directory "/var/www/html/vhosts/foobar.mysite.net/html/php"> # ProxyPass http://www.mysite.net/php # ProxypassReverse http://www.mysite.net/php # ProxypassReverseCookieDomain www.mysite.net foobar.mysite.net # ProxypassReverseCookiePath /php /php #</Directory>
目录的话要在后边写上“/”,比如:http://blog.upall.cn/wap/
是吗,这么简单?太感谢了! 明天有机会的话准备试试!