一个疑难杂症 IIS URL区分大小写(FF的自动变换URL问题)?
(II8 VS14 CTP3 Windows7 ASP.NET WEBFORM)
在我的印象里面,IIS的URL在一般情况下面是不分大小写的。
所以下面两个URL应该是一样的。
http://localhost:61658/default.aspx
http://localhost:61658/Default.aspx
可以,我发现,FF里面,上面一个是OK的,
下面一个是 404。并且当你在浏览器的地址栏里面输入这个地址的时候,自动变成了 http://localhost:61658/Default
同样的东西,我在IE里面试了一下,不论是大小写都是OK的。
这个问题,从头说起吧。例如我有一个网站,是以前开发的,名字假设叫做WebSiteAAA
有一天我心血来潮,将这个网站复制到了其他目录下面,然后使用VS的Onsite打开网站进行调试。端口号是61658.
然后F5实行了,网站也正常启动了,当然是在FF里面。随便进入一个页面,然后回到首页,也就是
http://localhost:61658/Default.aspx,这个时候发现,地址变成http://localhost:61658/Default了。
至于为什么变成这个,我百思不得其解。
是不是代码有问题?我将代码重新复制到其他的地方,然后发现端口号变化了(我猜想,端口号应该是通过目录名称计算出来的端口号)
同样的操作,非常正常和完美。当然,如果我将有问题的目录的目录名称修改后,端口号也会变化,同样的代码也是完全可以正常迁移的。
我怀疑,FF将http://localhost:61658/Default.aspx这个地址自动变化为http://localhost:61658/Default的动作,在什么地方保存下来了。
下面的IIS的执行LOG,前面一个是IE的,很正常,
后面两行,我在FF的地址栏里面输入http://localhost:61658/Default.aspx
然后到了IIS的时候,已经变成了
2014-09-06 08:48:28 127.0.0.1 GET /Default - 61658
2014-09-06 08:44:19 127.0.0.1 GET /Default.aspx - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost:61658/ShowBlog.aspx?BlogId=2014021714122550 200 0 0 296
2014-09-06 08:44:19 127.0.0.1 GET /Scripts/jquery-1.9.1.js - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost:61658/Default.aspx 200 0 0 31
2014-09-06 08:44:19 127.0.0.1 GET /Scripts/UIKit/js/sticky.min.js - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost:61658/Default.aspx 200 0 0 15
2014-09-06 08:44:19 127.0.0.1 GET /Scripts/UIKit/js/uikit.min.js - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost:61658/Default.aspx 200 0 0 31
2014-09-06 08:44:19 127.0.0.1 GET /Scripts/Utility.js - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost:61658/Default.aspx 200 0 0 15
2014-09-06 08:44:19 127.0.0.1 GET /Scripts/UIKit/css/uikit.min.css - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost:61658/Default.aspx 200 0 0 124
2014-09-06 08:44:19 127.0.0.1 GET /Scripts/Waterful/jquery.masonry.min.js - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost:61658/Default.aspx 200 0 0 62
2014-09-06 08:44:19 127.0.0.1 GET /Image/Waterful/2014021713591697.JPEG - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost:61658/Default.aspx 200 0 0 15
2014-09-06 08:44:19 127.0.0.1 GET /Image/Waterful/2014021714121718.PNG - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost:61658/Default.aspx 200 0 0 62
2014-09-06 08:44:19 127.0.0.1 GET /Scripts/Waterful/jquery.infinitescroll.min.js - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost:61658/Default.aspx 200 0 0 93
2014-09-06 08:44:19 127.0.0.1 GET /Image/Waterful/2014021811405527.JPEG - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost:61658/Default.aspx 200 0 0 31
2014-09-06 08:44:19 127.0.0.1 GET /Image/Waterful/2014021811501165.JPEG - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost:61658/Default.aspx 200 0 0 15
2014-09-06 08:44:19 127.0.0.1 GET /Image/Waterful/2014022115234855.JPEG - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost:61658/Default.aspx 200 0 0 15
2014-09-06 08:44:19 127.0.0.1 GET /Image/Waterful/2014022115350832.JPEG - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost:61658/Default.aspx 200 0 0 31
2014-09-06 08:44:19 127.0.0.1 GET /Scripts/UIKit/fonts/fontawesome-webfont.eot - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost:61658/Default.aspx 200 0 0 31
2014-09-06 08:44:19 127.0.0.1 GET /favicon.ico - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 0 2 15
2014-09-06 08:44:19 127.0.0.1 GET /__browserLink/requestData/aec8c5e119724733a19c97e269f8d888 version=2 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost:61658/Default.aspx 200 0 0 62
2014-09-06 08:48:28 127.0.0.1 GET /Default - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+rv:31.0)+Gecko/20100101+Firefox/31.0 - 404 0 2 0
2014-09-06 08:48:28 127.0.0.1 GET /favicon.ico - 61658 - 127.0.0.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+rv:31.0)+Gecko/20100101+Firefox/31.0 - 404 0 2 0
由于相同的代码,在IE和FF里面显示,IE是OK的,FF有问题。IIS的嫌疑可以洗清了。
FF的话,对于其他端口号是OK的,对于特定端口号会自动转换,所以我认为,我在第一次调试的时候,做了什么奇诡的动作,
导致了FF将http://localhost:61658/Default.aspx这个地址自动变化为http://localhost:61658/Default
同时这个自动变换被保存到了FF的某个配置文件中。
我觉得不可能是IIS的问题,IIS如果在内部保存了在FF访问某个地址的时候,自动将扩展名去掉,说不过去啊。或许是VS14 CTP3的IIS不成熟的结果。
当然,我的机器还没有重启,或许重启之后,或者删除所有FF缓存后就解决问题了。
有谁知道问题的原因吗?请赐教,谢谢。