电脑技术学习

WordPress 404页面设置

dn001

我们在WordPress管理后台一般都可以看到WordPress几乎每一个主题都有一个404页面模板。WordPress自带的404页面允许你在不设置服务器主机的情况下成功返回404 HTTP server header。甚至你都不需要在404页面文件的头部加上:<?php header(“HTTP/1.1 404 Not Found); ?>。这些都由WordPress主题中自带的404页面模板实现了,牛X。比如default主题的代码:

<?php get_header(); ?>
<div id="content">
<h2><?php _e('Error 404 - Not Found', 'kubrick'); ?></h2>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

只要在<div id=content></div>里面写入任何属于你的有创意的404错误页面提示和访问者友好导航。

404 页面设置

404页面模板设置上传好,用Firefox的调试工具firebug检查404出错页面导致服务器返回的sever response的情况,比如出错页:http://www.farlee.info/archives/2.html;,检查结果HTTP 状态码已经是显示404 Not Found。OK。

但是,这时候,我们再打开http://www.farlee.info/archives; 这个错误页面地址测试的时候,发现WordPress竟然返回的是和上面完全不一样的404页面。用firebug检查其headers HTTP 状态码返回 200。仔细一看原来这个出错页面返回的是我在IIS服务器虚拟主机上设置的自定义404页面。也就是,你要另外再做一个404页面来实现 http://www.xxx.com/abc;类似错误地址的404转向。远方博客IIS/Apache环境下如何做404页面(php/asp中设置)这篇文章详细介绍了WordPress(PHP)如何在IIS下自定义404页面设置。这里不再分开详述,简要记一下我在IIS下设置404页面的曲折步骤:

  • 1.虚拟主机环境介绍:Microsoft window主机-IIS/6.0。 程序WordPress2.9.1(废话,即表示php)。空间提供商不说了,免得有做广告的嫌疑;
  • 2.自定义404页面制作:打开WordPress自带的404页面模板返回的错误页面,如:http://www.farlee.info/archives/2.html,复制HTML源代码至新建的404.php文件中(由于WordPress对get_header等函数进行了一系列的封装,要在404页面直接调用比较麻烦,所以就偷懒将html静态页面加进去,保证整体风格一致就行了,嘿嘿。直接调用将出现致命错误提示:
    Fatal error: Call to undefined function get_header() in D:\wwwroot\listen\wwwroot\404.php on line 1
    

    修改<div id=content></div>之间的内容;在文件头部加上: <?php header(“HTTP/1.1 404 Not Found); ?>。

  • 3.上传到设置好的404.php到网站根目录下;
  • 4.虚拟主机管理后台:虚拟主机管理–出错页面自定义–设置自定义错误(…);
  • 5.管理后台只能设置404b.htm为自定义404页面,同时返回的是200状态码–只能联系主机空间商帮助手工设置
  • 6.告知你的自定义WordPress 404页面文件的位置和ftp账号密码
  • 7.空间商IIS服务器端设置:找到网站–右键属性–自定义错误–错误类型404-消息类型(动态网页改成url)–内容设置为根目录的404.php。如下图:

IIS 404页面设置

最后提一点:要注意自定义404页面大小要超过512字节,ie浏览器将不会启用小于512字节的404页面。