Apache的魔术

原创 2003年09月24日 10:05:00

前几日受到“冲击波”影响,我的服务器受到了很大的影响,一起之下彻底放弃了.net平台,全面转向java平台,只不过现在的OS还是微软的,不过说不定将来的某一天我就彻底放弃微软平台,转向Linux平台。所以放弃了IIS,全面转向Apache。以下是我最近使用Apache的一点体会。
(1)代理(Proxy):
不知道各位大侠有没有注意到Apache的代理功能。由于原来我使用了IIS支持ASP.NET,但是现在放弃了IIS,就出现了一个尖锐的问题:原来的ASP.NET的程序如何处理?让Apache支持ASP.NET显然是不现实的,至少目前还没有一个完整的解决方案(MONO)现在还只是一个实验性的东西,况且现在他还是一个linux下的东西。所以我想到了Apache的代理功能。通过Apache的代理访问IIS,就好像是Apache支持了ASP.NET了。
在你的Apache的Httpd.conf中添加以下内容就可以了,其中端口88是你的IIS使用的端口。
ProxyPass /home/ http://127.0.0.1:88/
ProxyPassReverse /home/ http://127.0.0.1:88/
RewriteRule ^/home$ /home/ [R]
这样通过 http://localhost/home/就可以访问到你的IIS了,是不是变相实现了Apache支持Asp/Asp.net
事实上你还可以通过这种方法作一个网站的假镜像,让浏览者以为你做了一个其它网站的镜像:
ProxyPass /home/ http://www.sina.com.cn/
ProxyPassReverse /home/ http://www.sina.com.cn/
RewriteRule ^/home$ /home/ [R]
这次再访问http://localhost/home/是不是已经是www.sina.com.cn的首页了?
是不是很神奇?
(2)重写:
经常看到一些网站上的URL都是这样的http://www.ibeyond.org/box/Computer/2003-8/2003-8-13-1191.html,你是不是认为这个页面真的是静态的?错了,你的眼睛欺骗了你的头脑,这样的url指向的也可能是动态的页面,这就是Apache的另一个魔术:重写。(这一部分需要一些正则表达式的知识)
在我的Httpd.conf有这样一句,就实现了动态URL重写成静态URL的功能。
RewriteRule /box/([^/]*)?/([^/]*)/([^/]*).html /box/view.do?ID=/$1/$2/$3 [P]
很简单,按照从左到右有3个"([^/]*)?",意思是匹配任意长度的任意字符,在后边这三个就是作为了动态URL的参数传递过来,取得相应的页面返回给浏览者 [P]是保持原来的静态url不变,还有其他的参数大家可以参考Apache的用户手册。这样做的好处就是很容易被搜索引擎收集,因为搜索引擎默认对html的抓取是比动态URL的优先级高的,所以就很容易被搜索引擎检索。
以上只是Apache魔术中的很少一部分,也许我会在以后慢慢提供(如果我会Apache有更深的认识的话)。
以上的也可以在Apache的手册中取得相关信息,当前网络上已经有了Apache2.0的中文版的手册,大家可以查阅。

版权归iBeyond(http://www.ibeyond.org)所有,转载请著名出处并保留版权信息.可以通过email和我联系(csdn@ibeyond.org)

数学小魔术——神奇的二进制

小魔术——猜数游戏 心中默想一个小于50的两位数 接着,我问你在以下的6张卡片中,哪几张卡片中有你想的那个数?(为什么是6张卡片,和50有什么关系) 最后,我不费吹灰之力就能猜出这个数。...
  • lanchunhui
  • lanchunhui
  • 2016年01月19日 15:02
  • 2920

有趣的二进制算法小魔术

数学魔术:四张卡片猜出你的星座
  • softwave
  • softwave
  • 2011年01月18日 21:07
  • 4255

数学小魔术——猜数字

数学小魔术——神奇的二进制 请你任意猜想一个三位数,把这个三位数乘以 91 的乘积的最后三位告诉我,我们很快猜出你心中所想的那个三位数是多少? 我们以对方心中所想的 789 为例,则对方计算出 ...
  • lanchunhui
  • lanchunhui
  • 2016年01月29日 17:56
  • 3014

IPython魔术命令

•%timeit 多次执行一条语句,并返回平均时间,%%timeit->多条语句 • %time 返回执行一条语句的时间,%%time->多条语句 • %reset 删除当前...
  • quanqinayng
  • quanqinayng
  • 2016年12月08日 07:54
  • 1139

php魔术引号总结

在一个项目中,魔术引号若是打开的话,所有的反斜线(\)、单引号(')、双引号(")、NULL 字符都会被自动加上一个反斜线进行转义,这和 addslashes() 作用完全相同。 这里主要讲四个与之相...
  • molaifeng
  • molaifeng
  • 2015年01月28日 23:57
  • 1433

linux下的魔术键

CentOS5.4  Linux 2.6.18-164.el5 执行  echo 1 > /proc/sys/kernel/sysrq  开启魔术键, 若要永久生效则需修改配置文件 /etc/sy...
  • xyyaiguozhe
  • xyyaiguozhe
  • 2013年10月21日 19:44
  • 978

Arduino使用魔术光杯

文本介绍37款传感器中的魔术光杯。魔术光杯包含两个一模一样的模块,单个模块是由一个LED灯和一个水银开关组成的。如下图所示,它总共有4个引脚,各引脚意义如下: -:接gnd +:接vcc S:输出引脚...
  • gc_2299
  • gc_2299
  • 2017年11月12日 20:01
  • 150

表示不同文件类型的魔术数字【整理】

这里所说的表示不同文件类型的魔术数字,指定是文件的最开头的几个用于唯一区别其它文件类型的字节,有了这些魔术数字,我们就可以很方便的区别不同的文件,这也使得编程变得更加容易,因为我减少了我们用于区别一个...
  • qiuzhi__ke
  • qiuzhi__ke
  • 2016年08月03日 11:05
  • 1231

PHP魔术方法和魔术变量总结

从php5以后的版本,类就可以使用魔术方法了。php规定以两个下划线开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开 头,除非是为了重载已有的魔术方法。目前php已有的魔术方法有 __co...
  • u010187139
  • u010187139
  • 2015年07月11日 12:46
  • 1765

魔术球问题(网络24题,三)

魔术球问题 题目链接:Click Here~ 算法分析:     跟第二题一样也是最短路径覆盖。但是我感觉这题比上一题难想一点,首先是在如何建图上遇到了麻烦。一开始我就没想到过用枚举的方法。...
  • u010016150
  • u010016150
  • 2014年03月28日 09:55
  • 1449
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Apache的魔术
举报原因:
原因补充:

(最多只允许输入30个字)