现在的位置: 首页 > 程序源码 > 正文

利用404.PHP错误文件实现论坛伪静态的源码

2014年04月28日 程序源码 ⁄ 共 1002字 ⁄ 字号 暂无评论 ⁄ 阅读 835 次

学习过SEO的朋友们都知道对于搜索引擎而言,收录HTML静态页面比收录PHP动态页面相对容易一些,会大大提高搜索引擎的收录量。对于不支持静态页面生成的论坛程序就需要使用伪静态了。但要实现伪静态需要你的虚拟主机支持REWRITE(URL重写),如果不支持REWRITE怎么办呢?不要紧,只要你的空间支持自定义404错误文件,我们就可以设定一个404.php错误文件来实现伪静态。下面我们就以Discuz7.2为例给出实现论坛伪静态的404.PHP文件源码

  1. $url=$_SERVER['REQUEST_URI'];
  2. if(preg_match(“/^\/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$/”,$url,$matcher)){
  3. $tid$matcher[1];
  4. $extra = “page\%3D”.$matcher[3];
  5. $page = $matcher[2];
  6. include(“viewthread.php”);
  7. }elseif(preg_match(“/^\/forum-([0-9]+)-([0-9]+)\.html$/”,$url,$matcher)){
  8. $fid = $matcher[1];
  9. $page = $matcher[2];
  10. include(“forumdisplay.php”);
  11. }elseif(preg_match(“/^\/space-(username|uid)-(.+)\.html$/”,$url,$matcher)){
  12. $$matcher[1] = $matcher[2];
  13. include(“space.php”);
  14. }elseif(preg_match(“/^\/archiver\/((fid|tid)-[\w\-]+\.html)$/”,$url,$matcher)){
  15. $_SERVER['QUERY_STRING'] = $matcher[1];
  16. include(“archiver/index.php”);
  17. }elseif(preg_match(“/^\/tag-(.+)\.html$/”,$url,$matcher)){
  18. $name = $matcher[1];
  19. include(“tag.php”);
  20. }else{
  21. header(“HTTP/1.0 404 Not Found”);
  22. echo “File Not Found”;
  23. }
  24. ?>

给我留言

留言无头像?


×