web服务器上有该文件,网站访问却提示404错误?可能是IIS中的MIME类型没配置好

1年前 4781次浏览 IIS

有时侯会不会遇到这种问题,服务器里面明明有该文件,但是访问的时侯却始终报404错误。我们都知道404错误就是文件不存在。可是这里明明服务器里面有这个文件为什么还是会报404错误呢?

其实这是因为MIME类型里面没有该文件类型。MIME类型是什么呢?用我理解的话来说就是文件类型定义,告诉IIS这种扩展名是什么东西。我们在访问一个网站链接时格式为http://域名/名字.文件类型,如http://域名/index.html,这个时侯这个index.html中的index就是文件名字,html就是文件扩展名,这样就能理解了,我们再看MIME类型下面对html的设置为text/html。这样我们就能够理解这个MIME类型的意思,就是告诉IIS,这个扩展名是什么东西,如何去解悉它。

image.png

就如同我们在电脑上打开一个扩展名是我们不知道的扩展名类型,电脑不知道用什么程序打开该文件。我们就得去寻找相关的程序安装到电脑上来打开这个文件。

那么在web服务器中也是一样。我们需要为IIS安装相应的文件类型来让IIS来运行该文件。

如何配置IIS的MIME类型?

我们打开IIS管理器,可以单独为某个网站应用定义MIME类型,也可以为整个IIS服务器全局定义。我们在功能视图页面中找到MIME类型图标,

image.png

点击进入后,就是一系列的文件扩展名的定义。

image.png

这个时侯就很清楚了。例如当我们访问某一个链接如http://域名/index.json时,如果index.json确实存在,但报了404错误,我们只需要在MIME类型里面添加该类型就可以了。点击添加,在文件扩展名处填入扩展名,MIME类型里面填入相应的类型。

image.png

至于这个MIME类型也不是随便填的。一般格式为“类型/子类型”

类型有:application(应用程序)、音频(audio)、图像(images)、消息(message)、文本(text)、视频(video)、其它如字体(font)等。

子类型就比较多了:此处不一一列举,可以到IIS功能视图中的MIME类型里面查看已有类型学习下。

MIME类型另类应用

通过上面对MIME类型的理解。有时侯我们可以隐藏一下真实的类型,如我在MIME类型里面添加一个.p的应用类型。那么我们在该问http://域名/index.p时,别人看到就会觉得看不懂,再如。我明明是asp程序,但是有个客户说他想要JSP,那也可以通过将所有的asp文件扩展名改为JSP,再把jsp类型定义为asp。这样客户看着就觉得高大上了(以前我们有个摆官架子的客户,不知到哪里看了说是JSP高大上,就要JSP。结果我们就这样改MIME类型他就觉得OK了,当时真是哭笑不得)。

MIME类型也就是这个回事了,如果有什么不懂可以在下面留言。