关于IIS中“重定向到URL”应用一则

背景介绍:
现在有这样一个问题需要解决,就是我在本机上架设了一个DotText 的BLOG用以给同学们使用,但由于不想应用它默认的首页,而且这个首页里会列出所有更新的文章条目,asp.net在第一次运行的时候是很慢的。为了节省资源和时间,我想用我自己写的首页来代替(说实话,默认的首页实在太丑了,这个是更主要的原因),里面只有注册和登陆两个功能,足够了。

问题来了,如果我写的页子叫index.aspx或index.html的话,编译过的系统不认,仍然跳进default.aspx中。也就是说,无论首页名字改成什么都没有用,除了default.aspx。于是我将文件名改成default.aspx。

可是问题又来了,改成我自己写的以后,输入http://192.168.0.1/blog/ 时,确实看到我做的页子,而且链接都运行正常。可是当登陆自己的BLOG,如http://192.168.0.1/blog/b3/ 时,该页无法显示了。原来,这个default.aspx内有乾坤,短短的几行代码里已经调用了系统函数,而且更值得一提的是,所有人的BLOG都要返回这个文件。看来改这个文件是不明智的。

于是想到几种情景:

1、把真正BLOG程序的名字改成如“bloq”(和blog比较相近),然后在“blog”文件中放置我事先做好的首页,如此做个假象,连进http://192.168.0.1/blog/index.html 的只是一个空壳,通过导航的连接直接进入 /bloq/Register.aspx 和 /bloq/Login.aspx 即可。但是当用户知道http://192.168.0.1/bloq/ 才是真正程序地址的时候,就可以通过http://192.168.0.1/bloq/default.aspx 直接进入BLOG首页,而且还是原来默认的首页,即不美观,又费资源的那个家伙。那我做的那个index.html页子和之前/blog/的假象也就失去了它存在的意义。

2、新问题的提出,让我不得不考虑是否有一种方法可以使地址栏里的HTTP地址保持不变呢?答案是肯定的,使用frame来完成。经过测试,通过审查,当通过http://192.168.0.1/blog/ 访问时,跳转到/bloq/下以后,地址栏里的地址仍然都保持http://192.168.0.1/blog/ ,无论什么页都如此,窃喜。但突然有发现,通过/blog/index.html时候是0秒跳转,我的这个index.html页子内容又失去意义,而只是简单完成个跳转,里面其实没有内容都OK。而且当进入我的BLOG:http://192.168.0.1/blog/b3/ 时,地址栏里显示的仍然是http://192.168.0.1/blog/ ,汗,还真够彻底的,这样一来,复制地址就成了难事,刚接触电脑的新同学们就无法顺畅的交换链接了,不行,还得改……

3、可不可以在服务器上做手脚?开始就想过这个问题,利用URL的重定向,可是如何定向才能达到预期效果呢?见下图:
dingxiang.gif

如此设置过以后,再访问http://192.168.0.1/blog/index.html 时,显示我预先放置好的页面,进入注册或登陆后一切正常。登陆到自己的BLOG时,地址栏里显示真实地址:http://192.168.0.1/bloq/b3/ ,但是当你再进入http://192.168.0.1/bloq/ 时,看看,是不是又跳回我的/blog/index.html上,而不是那个丑陋的default.aspx上了呢!

总结以上:
其实要达到的效果就是,访问http://192.168.0.1/blog/ 进入index.html页,通过这个页面上的“注册”和“登陆”完成用户任务,登陆以后直接显示自己的BLOG,当点击“BLOG站首页”的时候,又从/bloq/返回到/blog/即可。完全不需要首页显示那些最新更新,用户排名,最新BLOG等信息。

那有个人要问,如果这样的话,我怎么能更好的了解和我同在一个服务器上的用户每天都更新了什么新东西,或是我想看他们写的东西时,该如何了解他们呢?我的方法是采用“聚合器”,功能单纯,不但与BLOG主程序分离,又能更好的将我现在的主站,论坛,BLOG联系在一起,这才是我真正要达到的目的。现在明白了吧?

TrackBack

TrackBack URL for this entry:
http://mt.b3inside.com/mt-tb.cgi/253

Post a comment


Categories

June 2008
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30