Products
GG网络技术分享 2025-03-18 16:13 0
404页面的目的是:告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开。
现在大部分开源系统都会为大家考虑到404页面的跳转引导,比如:z-blog/wordpress,都是很不错的开源系统(注意不要用最原始的开源系统,而是采用带有模板的系统)。菜鸟后院网站本身也是wordpress的开源程序,然后我们用robin模板。(花299元拥有和菜鸟后院一样的网站,包括域名和1G阿里巴巴云空间)
搜索引擎使用 http 状态码来识别网页的状态。当搜索引擎获得不正确的链接时,网站应该返回一个状态代码404,告诉搜索引擎放弃索引该链接。如果返回一个200或302状态代码,搜索引擎会对链接进行索引,导致许多不同的链接指向相同的页面内容。结果,搜索引擎对这个网站的信任度大大降低。很多网站存在这个问题,那就是404页面返回的是200或302状态码而不是404状态码。
1、做一个简单的404页面,命名如:404.html;
2、通过ftp把这个404页面上传到网站根目录;
3、进入虚拟主机管理后台,找到404页面提交的入口,添加以上404页面的地址,如:www.cnbackyard.com/404.html(一般空间服务商都有带着种功能,也可以直接找他们技术客服完成这步操作)
4、输入一个错误的链接进行访问测试,随便输入,比如:www.cnbackyard.com/123.html,如果正确返回到404.html页面,则算正确;
5、使用站长工具(http://tool.chinaz.com/pagestatus),输入任意一个错误网址,检查返回值是否为404。如果返回值是200,代表该主机商设置有误,可以与其技术反馈。
以上操作方法对于一个seo初学者来说,还是有点复杂,同学们可以关注燃灯教育直播课程,参加我们的培训,理解起来会更透彻一点。
对于WordPress建站,虽然我们一直推荐用户使用linux系统,但是无可避免的依然会有很多用户由于种种原因选择了windows系统,并且也会经常有用户遇到中文链接404错误的问题,现在我们针对Windows IIS 7.5下的中文链接(比如标签页)404错误提供一种解决方案。
首先,我们在WordPress安装目录下,新建一个“index2.php”文件,内容如下:
<?php// IIS Mod-Rewrite
if (isset($_SERVER[\'HTTP_X_ORIGINAL_URL\'])) {
$_SERVER[\'REQUEST_URI\'] = $_SERVER[\'HTTP_X_ORIGINAL_URL\'];
}
// IIS Isapi_Rewrite
else if (isset($_SERVER[\'HTTP_X_REWRITE_URL\'])) {
$_SERVER[\'REQUEST_URI\'] = $_SERVER[\'HTTP_X_REWRITE_URL\'];
} else {
// Use ORIG_PATH_INFO if there is no PATH_INFO
if ( !isset($_SERVER[\'PATH_INFO\']) && isset($_SERVER[\'ORIG_PATH_INFO\']) )
$_SERVER[\'PATH_INFO\'] = $_SERVER[\'ORIG_PATH_INFO\'];
// Some IIS + PHP configurations puts the script-name in the path-info (No need to append it twice)
if ( isset($_SERVER[\'PATH_INFO\']) ) {
if ( $_SERVER[\'PATH_INFO\'] == $_SERVER[\'SCRIPT_NAME\'] )
$_SERVER[\'REQUEST_URI\'] = $_SERVER[\'PATH_INFO\'];
else
$_SERVER[\'REQUEST_URI\'] = $_SERVER[\'SCRIPT_NAME\'] . $_SERVER[\'PATH_INFO\'];
}
// Append the query string if it exists and isn\'t null
if (isset($_SERVER[\'QUERY_STRING\']) && !empty($_SERVER[\'QUERY_STRING\'])) {
$_SERVER[\'REQUEST_URI\'] .= \'?\' . $_SERVER[\'QUERY_STRING\'];
}
}
require(\"index.php\");
?>
然后在web.config中新增一条规则,并将此规则置于规则集合的顶部:
<rule name=\"ChineseURL\" stopProcessing=\"true\"><match url=\"/(tag|category)/(.*)\" />
<action type=\"Rewrite\" url=\"index2.php\" />
</rule>
效果如下:
如果 WordPress 不是装在根目录,则需要更改“<match url=\"^(tag|category)/(.*)$\" />”为“<match url=\"^安装目录/(tag|category)/(.*)$\" />”。如果在固定链接设置里把默认的标签前缀和分类目录前缀(tag 和 category)改了,则更改这句里的对应内容即可。
以上方法只针对标签和分类里面的中文链接,如果您需要对网站的全部中文链接(比如文章、页面等)进行转化支持,那么可以不用添加最后一步的web.config规则,只需要直接编辑web.config,将上图里面的<action type=\"Rewrite\" url=\"index.php\" />改成<action type=\"Rewrite\" url=\"index2.php\" />即可。
由于此方法是新建index2.php文件,并配合伪静态规则实现,所以不受WordPress更新升级影响,推荐使用。
Demand feedback