让人崩溃的一上午

今天在安装网站的时候遇到了一个 BUG,足足折腾了我三个小时。其现象是网站通过安装程序部署后,所有的 aspx 页面均为 404。

(1)由于部署环境是 IIS 6.0,因此第一感觉就像到了是否是禁用了 ASP.NET v2.0 扩展(这也是网上人们对于这个问题的一般回答),但发现该扩展确实是启用的;

(2)出于狐疑,还是使用 aspnet_regiis –i –enable 重新进行了注册,但是问题依旧;

(3)查看 IIS 日志,发现 404 是 404.0.0 认定这绝对是路径的问题而不是 ASP.NET v2.0 扩展或者 Http Handler 映射的问题;

(4)经过了大眼瞪小眼的查找之后,发现:Web Application 的路径赫然写着:E:\\WebRoot\WebApp,原来E:后面竟然跟了两个斜线。

原来,安装程序在脚本生成的时候使用了变量替换,例如安装的目标路径是 $InstallPath$\WebApp,但是用户选择路径的时候恰恰选择了盘符,这样安装路径就成了 E:\ 于是就有了 E:\\ 的出现。更改安装程序,将用户选择路径的多余的“\”消除之后,解决。

往往最花时间的 BUG,其起因是很“白痴”的。

posted @ 2011-11-08 22:46  TW-刘夏  阅读(604)  评论(0编辑  收藏  举报