html里我给力超链接,为什么点击会显示404错误?

html-css07

html里我给力超链接,为什么点击会显示404错误?,第1张

一、根本原因

服务器找不到指定的页面,例如IIS默认的404页面:

二、直接原因

链接地址写错,如出现了拼写错误,相对路径或绝对路径层级的关系写错

链接地址本来是对的,但过了一段时间服务器删除了那个页面,导致页面找不到

其他原因,如部分系统对没有权限的用户访问返回404页面,主要看服务器配置,任何请求页面都可以返回成404错误

三、解决方法

正确的填写链接地址,尤其主要相对链接的相对路径层级数在不同的服务器根目录下可能不同

服务器已删除资源,一般需要更新链接地址

1、对于存在的网页内容由于路径改变而导致访问不了时,可在IIS 中定义404错误指向一个动态页面,在页面里面使用301永久重定向跳转到新的地址,此时服务器返回301状态码。2、设置404指向一个设计好的html 文件,此时页面返回的404状态码。 现在的idc提供商基本都提供404设置的功能,直接上传文件设置即可。在IIs中设置方法:打开IIS管理器-->点击要设置自定义404的网站的属性-->点击自定义错误选项-->选中404页-->选中并打开编辑属性-->设置成 URL -->URL 里填写“/err404.html”-->按确定退出再把做好的err404.html 页面上传到网站根目录下。此处在“消息类型”中一定要选择“文件”或“默认值”,而不要选择“URL”,不然,将导致返回“200”状态码。3、把404指向一个动态页面,比如error.asp,如果不在页面里面进行设置,仅仅是返回提示的HTML 代码,将导致页面返回200 状态码,这是不正确的,我们可以在显示完提示内容后,增加语句:Response.Status="404 Not Found" ,这样就保证页面返回404状态码。  4、Apache下设置404错误页面。为Apache Server设置404错误页面的方法很简单,只需在.htaccess 文件中加入如下内容即可,ErrorDocument 404 /notfound.php。404页面就是当用户访问某网站时,点击了错误的链接时,所返回的页面。最常见的出错提示:404 Not Found。其目的就是告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开。错误页面的文字可以自定义,有些网站没有设置404错误页面,或者是直接采取的跳转到首页,这样一般都说对搜索引擎不是很友好。导致网页404错误的原因一般来说有几种情况:1、无法在所请求的端口上访问Web站点。2、Web服务扩展锁定策略阻止本请求。3、MIME映射策略阻止本请求。4、网站更新改版,但某些局部板块沿用原来的模块,而原有的模块调用的文件已经被删除或转移了路径。5、跟踪访问的各类脚码或CSS文件无效但调用代码依然存在。6、某个目录直接删除(导致一段时间该目录的文件在被爬行时全部报404 Not Found错误)7、网页URL生成规则改变、网页文件更名或移动位置、导入链接拼写错误等,导致原来的URL地址无法访问

正确设置的步骤:

步骤一:

ISS中404错误页面设置

打开IIS管理器-->点击要设置自定义404的网站的属性-->点击自定义错误选项-->选中404页-->选中并打开编辑属性-->设置成文件或默认值-->URL 里填写“/404.html”,按确定退出。再把做好的404.html页面上传到网站根目录下。此处在“消息类型”中一定要选择“文件”或“默认值”,而不要选择“URL”,不然,将导致返回“200”状态码。

步骤二:

Apache下设置404错误页面很简单,一般都是有一个404错误页面设置的功能,只需要自己做好一个404页面,上传到对应的目录就可以了。

步骤三:

一些主机的空间默认就是返回值320或200状态码,怎么办呢?我们可以通过下面的代码来解决:

ApacheServer下设置404错误页面

建立一个.htaccess 文件,在其中加入如下内容:ErrorDocument 404/notfound.php,然后将.htaccess文件上传到网站根目录,最后制作一个404页面,命名为notfound.php,和上面的名字一定要统一,同样上传到网站根目录就OK了。这里切记不要使用绝对URL,如果使用绝对URL返回的状态码是302或200了。

IIS/asp。net下设置404错误页面

首先,修改应用程序根目录的设置,打开 web.config 文件,引用以下内容:

<configuration>

<system.web>

<customErrors mode=OndefaultRedirect=error.asp>

<error statusCode=404″ redirect=notfound.asp/>

</customErrors>

</system.web>

</configuration>

error.asp为系统默认的404页面名,notfound.asp为自定义的404页面,使用时请修改相应文件名。

然后,在自定义的404页面notfound.asp中加入以下代码,便可以保证IIS服务器能够正确地返回404状态码。

<% Response.Status

= 404 Not Found%>

总而言之,网站的404页面一定要设置好,如果说返回的是200状态码那就是自找麻烦,不如不做。木木seo建议404页面设置完成后,一定要检查是否正确,返回的一定要是404状态,如果你网站因为产生较多200码404页面而导致降权,那是非常悲剧的。

另外我们在制作404页面的时候也要注意页面的美观和体验,尽量不要自动跳转也不要仅仅显示此页面无法访问,404页面也需要有清晰的导航,让用户来决定去向,这样才能留住用户。