一个疑难杂症 IIS URL区分大小写(FF的自动变换URL问题)?

8/10/2015来源:ASP.NET技巧人气:1639

一个疑难杂症 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 2962014-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 312014-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 152014-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 312014-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 152014-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 1242014-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 622014-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 152014-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 622014-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 932014-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 312014-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 152014-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 152014-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 312014-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 312014-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 152014-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 622014-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 02014-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缓存后就解决问题了。

有谁知道问题的原因吗?请赐教,谢谢。