闲来无事,研究了一下 Sablog 模板和 .htaccess,顺便给自己的网站加上了自定义错误页面。参见以下链接:
http://www.snailium.net/error-400.html
http://www.snailium.net/error-401.html
http://www.snailium.net/error-403.html
http://www.snailium.net/error-404.html
http://www.snailium.net/error-500.html
自定义错误页面方法如下:
应用系统:Sablog 1.6
修改文件:2个 + .htaccess
添加文件:1个模板 + 若干个错误图片
步骤:
第一步:修改 /index.php
找到:
PHP代码
- require_once PrintEot('index');
在上方添加:
PHP代码
- // 自定义错误
- elseif ($_GET['action'] == 'error') {
- $error_code = $_GET['code'];
- $pagefile = 'error';
- }
第二步:修改模板文件夹下的 index.php
找到:
XML/HTML代码
- <head>
在下方添加:
XML/HTML代码
- <!--
- EOT;
- if ($pagefile == 'error') {
- print <<<EOT
- -->
- <base href="$options[url]" />
- <!--
- EOT;
- }
- print <<<EOT
- -->
第三步:在模板文件夹下建立 error.php
内容如下:
PHP代码
- <!--<?php
- if(!defined('SABLOG_ROOT')) {
- exit('Access Denied');
- }
- print <<<EOT
- -->
- <div class="content-top">
- <!--
- EOT;
- switch ($error_code)
- {
- case '400':
- print '--> 错误 400:不正确的请求<!--';
- break;
- case '401':
- print '--> 错误 401:需要身份验证<!--';
- break;
- case '403':
- print '--> 错误 403:禁止访问<!--';
- break;
- case '404':
- print '--> 错误 404:文件不存在<!--';
- break;
- case '500':
- print '--> 错误 500:服务器内部错误<!--';
- break;
- default:
- print '--> 未知错误<!--';
- break;
- }
- print <<<EOT
- -->
- </div>
- <div id="article-box">
- <div class="article-title" style="text-align: center;">
- <!--
- EOT;
- switch ($error_code)
- {
- case '401':
- print '--> <img src="/images/error/401.jpg" /><!--';
- break;
- case '403':
- print '--> <img src="/images/error/403.jpg" /><!--';
- break;
- case '404':
- print '--> <img src="/images/error/404.gif" /><!--';
- break;
- default:
- print '--> <img src="/images/error/general.gif" /><!--';
- break;
- }
- print <<<EOT
- -->
- </div>
- </div>
- <div class="article-content" style="text-align: center;">
- <p><a href="$options[url]">返回首页</a>
- <a href="javascript: history.go(-1);">返回上页</a></p>
- </div>
- <!--
- EOT;
- ?>
第四步:上传相应的错误提示图片到 /images/error/
第五步:修改 .htaccess
先确认 Rewrite rule 生效,然后在文件尾部加入下面几行。
.htaccess
- # 自定义错误
- RewriteRule ^error-([0-9]+)\.html$ index.php?action=error&code=$1
- ErrorDocument 400 /error-400.html
- ErrorDocument 401 /error-401.html
- ErrorDocument 403 /error-403.html
- ErrorDocument 404 /error-404.html
- ErrorDocument 500 /error-500.html
完成!
相关文章
- 解决ssa/ass字幕无法自定义中文字体问题 (浏览: 1709, 评论: 2)
文章评论(3)
[1楼] [引用] [TOP]
雪海潆 发表于 2008年5月30日 9:26:37神奇,这个有什么用呢?
引用 雪海潆 说过的话:
神奇,这个有什么用呢?
跟整个网站统一的风格,比原来丑丑的404错误好多了。另外错误图片还可以个性化。
发表评论


![RSS订阅 [电影]拍摄记录 下的文章](templates/blueSky/images/rss.png)