php自动生成静态页,利用404状态自动生成静态页!(php)

目的:让网友来帮您生成网页!HBcms可以利用web服务器的404状态,自动为您生成网页。

原理:网友访问网页123.html,如果这个网页不存在,触发404状态,调用 404.php 文件,自动跳转到程序地址,生成并显示网页123.html

高效:网友再次访问网页123.html,因为网页123.html刚才已经自动生成了,所以就可以直接打开网页了。

演示:您可以访问hbcms官方网站看效果演示 http://www.hbcms.com/

使用:首先,您的空间需要支持自定义404错误页面(目前多数虚拟主机都支持)

其次,请将404错误页面指向 /hbcms/include/hbw.cn/config/404.php 就可以了

独家:hbcms是目前唯一一个可以利用服务器的404状态生成静态页文件的cms系统!

扩展:下面是本系统的 404.php 的源代码,如果您是php程序员,可以自己进行扩展。如有更优化更高效的版本,请和大家分享!

[Copy to clipboard] [ - ]

CODE:

// +----------------------------------------------------------------------+

// | HBcms系统:利用web服务器404状态跳转自动生成静态页                    |

// +----------------------------------------------------------------------+

// | This source file is released under the BSD License                |

// +----------------------------------------------------------------------+

// | Copyright (c) 2006-2009 http://www.hbcms.com/ http://www.hbw.cn/     |

// +----------------------------------------------------------------------+

//

// $Id: 404.php,v 1.0 2006/07/20 12:19:30 aashley Exp $

// 私有变量

$article_dir = 'cms';

$cms_dir = 'hbcms';

$jump_url = ''; // 404状态默认跳转地址

// 获取原网页url,需兼容Apache,IIS,php不同安装模式

if ( isset($_SERVER['REDIRECT_URL']) ) {

$my_url = $_SERVER['REDIRECT_URL'];

} else if ( isset($_SERVER['URL']) ) {

$my_url = $_SERVER['URL'];

} else if ( isset($_SERVER['REQUEST_URI']) ) {

$my_url = $_SERVER['REQUEST_URI'];

}

// 分析原网页url

if ( isset($my_url) && eregi('/' . $article_dir . '/',$my_url) && eregi('.html$',$my_url) )   {

$basename_ary = explode('.',basename($my_url));

$pg_ary = explode('_',$basename_ary[0]);

// 列表页面

if ( count($pg_ary) == 2 && is_numeric($pg_ary[0]) && is_numeric($pg_ary[1]) ) {

$jump_url     = '/' . $cms_dir . '/php/article_list.php?pageID=' . $pg_ary[1] . '&type_id=' . $pg_ary[0];

}

// 文章页面

if ( count($pg_ary) == 1 && is_numeric($pg_ary[0]) ) {

$jump_url     = '/' . $cms_dir . '/php/article_detail.php?article_id=' . $pg_ary[0];

}

}

// php程序员可以在此处追加一些其它的处理过程

// http://www.hbcms.com/

// http://www.hbw.cn/

// ......

// ......

if ( $jump_url != '' ) {

// 执行跳转

header("HTTP/1.1 301 Moved Permanently"); // 面向搜索引擎的友好模式

header("location:$jump_url");

exit();

} else {

// 其他异常处理

header("Content-Language: charset=zh-cn");

header("Content-type: text/html; charset=GB2312");

echo '

页面不存在,请访问网站首页 ! ';

echo '


The page you requested does not exist or has moved, ';

echo '

Please Visit Our Homepage';

exit();

}

?>

进阶:由于部分虚拟主机不支持直接将php文件作为404状态的执行页面,因此,我们特别制作了shtml版本。

下面是本系统的 404.shtml 的源代码,如果您比较熟悉javascript脚本,可以自己进行扩展。

本文件路径为: /hbcms/include/hbw.cn/config/404.shtml 如有更优化更高效的版本,请和大家分享!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值