使用“自定义Mime类型定义”让HTML支持ASP代码

来源:百度知道 编辑:UC知道 时间:2024/06/22 10:54:31
我的网站在虚拟主机上,我准备做一个404错误页,但是虚拟主机只允许使用/404.htm作为错误页,而且检查后发现HTTP返回的不是404,而是200,这对SEO非常不利,如果虚拟主机支持/404.asp倒还好,可以让ASP返回404。

偶然接触到“自定义Mime类型定义”后发现,理论上可以用它来实现。我们知道asp的默认Mime类型定义为“application/x-asap”,HTM和HTML的默认Mime类型定义text/html。我将HTM的Mime类型定义自定义为“application/x-asap”,意思是说是用ASP组件来解释HTM文件(我猜因该是这样,没有论证),那么我在HTM中加入ASP代码,是不是能够让HTM像ASP那样运行?如果可以,也就实现了/404.htm返回404代码的目的了。

当然,我还是实际操作了,不过没成功,ASP代码没有被解释,HTM则正常解释。
其实我的做法就相当于在独立主机下 IIS管理-》网站-》属性 -》主目录-》配置-》应用程序扩展 添加一个.htm格式的映射,使用 C:\WINDOWS\system32\inetsrv\asp.dll (此方法可以让Html执行asp脚本)

不知道虚拟主机上的“自定义Mime类型定义”和IIS的“应用程序扩展”是否有异曲同工之妙?

溜须拍马关云长 - 副总裁 十级 的方法不可取,这样做HTTP会先返回200,然后跳转到404.asp再返回404,404错误页返回200是SEO的大忌!

白临枫 - 都司 六级 你很专业吖~号外!我已经成功使用映射.htm为text/plain,让HTM变成TXT文档了,不过ASP一直没有成功,试了text/asp和appliaction/x-asap、appliaction/x-asp都不能,不知道是不是mime类型写错了。还有PHP的mime类型找不到,也没有实现

添加htm映射到C:\WINDOWS\system32\inetsrv\asp.dll是对的

但虚拟主机不支持此操作,另外mime与iis程序扩展没有任何联系,mime是调用客户端应用程序,例如flash、realplayer等等。。
iis的程序扩展是服务器端调用。

如果开放iis应用程序扩展给虚拟主机用户,服务器安全性会降低到接近0。

又想了想,我感觉Global.asa这个文件对你有用

没明白什么意思。。。
htm中调用asp,可以用js
要重定向404。不用asp一样实现。。

用静态htm文件里加上javascript,也可以实现,你要的一些ASP功能的东西啊?
关键看你的 javascript 熟练程度了。

不用这么麻烦吧.使用伪静态就可以去百度搜一下很多教程的.
如果想404返回的话直接设置URL定向就可以了.

没有,画蛇添足

就事论事!