使用“自定义Mime类型定义”让HTML支持ASP代码
我的网站在虚拟主机上,我准备做一个404错误页,但是虚拟主机只允许使用/404.htm作为错误页,而且检查后发现HTTP返回的不是404,而是200,这对SEO非常不利,...
我的网站在虚拟主机上,我准备做一个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类型找不到,也没有实现 展开
偶然接触到“自定义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类型找不到,也没有实现 展开
展开全部
404.htm完整代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv = "refresh" content = "1; url=404.asp" />
<title>404</title>
</head>
<body bgcolor="#000">
<script>setTimeout(function(){top.location.href="404.asp";},1000);</script>
</body>
</html>
404.asp代码请自己完成
如果你不想返回200,那就只能联系你的虚拟主机提供商了
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv = "refresh" content = "1; url=404.asp" />
<title>404</title>
</head>
<body bgcolor="#000">
<script>setTimeout(function(){top.location.href="404.asp";},1000);</script>
</body>
</html>
404.asp代码请自己完成
如果你不想返回200,那就只能联系你的虚拟主机提供商了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没明白什么意思。。。
htm中调用asp,可以用js
要重定向404。不用asp一样实现。。
htm中调用asp,可以用js
要重定向404。不用asp一样实现。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用静态htm文件里加上javascript,也可以实现,你要的一些ASP功能的东西啊?
关键看你的 javascript 熟练程度了。
关键看你的 javascript 熟练程度了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不用这么麻烦吧.使用伪静态就可以去百度搜一下很多教程的.
如果想404返回的话直接设置URL定向就可以了.
如果想404返回的话直接设置URL定向就可以了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询