phpbb mod for google 完全解决方案

2016-01-29 13:43 1 1 收藏

phpbb mod for google 完全解决方案,phpbb mod for google 完全解决方案

【 tulaoshi.com - PHP 】

作者:Trotter
邮箱:trotter@kekerde.net
出处:www.gbunix.com

转载请保持文档完整,注明出处。

前言

  随着互联网上的内容以惊人速度的增长也越来越突出了搜索引擎的重要性,如果网站想更好地被搜索引擎收录,网站设计除了面向用户友好(User Friendly)外,搜索引擎友好(Search Engine Friendly)的设计也是非常重要的。进入搜索引擎的页面内容越多,则被用户用不同的关键词找到的几率越大。不得不承认,将动态网页链接rewriting成静态链接是最保险和稳定的面向搜索引擎优化方式。该方案就是针对phpBB论坛系统的URL重定向提出的。

解决方案

  URL重定向从技术上将,目前可以通过两种方式实现,一种是基于URL rewrite,另一种是基于PATH_INFO。例如http://www.gbunix.com/bbs/ftopic102.html就是基于rewrite实现的,而http://www.gbunix.com/article/article.php/515是基于PATH_INFO实现的。

  针对PHPBB论坛的改造,我们分别就这两种技术分别介绍。

一.使用rewrite技术实现:

修改phpBB代码:

打开/includes/page_header.php文件,

搜索代码:

//
// Generate logged in/logged out status
//

之前加:

ob_start();
function replace_for_mod_rewrite(&$s)
{
$urlin =
array(
"'(?<!/)viewforum.php?f=([0-9]*)&amp;topicdays=([0-9]*)&amp;start=([0-9]*)'",
"'(?<!/)viewforum.php?f=([0-9]*)&amp;mark=topics'",
"'(?<!/)viewforum.php?f=([0-9]*)'",
"'(?<!/)viewtopic.php?t=([0-9]*)&amp;view=previous'",
"'(?<!/)viewtopic.php?t=([0-9]*)&amp;view=next'",
"'(?<!/)viewtopic.php?t=([0-9]*)&amp;postdays=([0-9]*)&amp;postorder=([a-zA-Z]*)&amp;start=([0-9]*)'",
"'(?<!/)viewtopic.php?t=([0-9]*)&amp;start=([0-9]*)&amp;postdays=([0-9]*)&amp;postorder=([a-zA-Z]*)&amp;highlight=([a-zA-Z0-9]*)'",
"'(?<!/)viewtopic.php?t=([0-9]*)start=([0-9]*)'",
"'(?<!/)viewtopic.php?t=([0-9]*)'",
"'(?<!/)viewtopic.php&amp;p=([0-9]*)'",
"'(?<!/)viewtopic.php?p=([0-9]*)'",
);
$urlout = array(
"viewforum1-2-3.html",
"forum1.html",
"forum1.html",
"ptopic1.html",
"ntopic1.html",
"ftopic1-2-3-4.html",
"ftopic1.html",
"ftopic1-2.html",
"ftopic1.html",
"sutra1.html",
"sutra1.html",
);
$s = preg_replace($urlin, $urlout, $s);
return $s;
}

打开/includes/page_tail.php文件,

搜索代码:

$db-sql_close();

之后加:

$contents = ob_get_contents();
ob_end_clean();
echo replace_for_mod_rewrite($contents);
global $dbg_starttime;

如果你的phpBB是2.06版本,打开includes/functions.php文件,

搜索代码:

if (!empty($db))
{
$db-sql_close();
}

之后加:

if (stristr($url, 'http://')) {
header('Location: ' . $url);
exit;
}

最后在bbs目录下建立.htaccess 文件,文件内容为:

RewriteEngine On
RewriteRule ^forums.* index.php
RewriteRule ^forum([0-9]*).* viewforum.php?f=$1&mark=topic
RewriteRule ^viewforum([0-9]*)-([0-9]*)-([0-9]*).* viewforum.php?f=$1&topicdays=$2&start=$3
RewriteRule ^forum([0-9]*).* viewforum.php?f=$1
RewriteRule ^ptopic([0-9]*).* viewtopic.php?t=$1&view=previous
RewriteRule ^ntopic([0-9]*).* viewtopic.php?t=$1&view=next
RewriteRule ^ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).* viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4
RewriteRule ^ftopic([0-9]*)-([0-9]*).* viewtopic.php?t=$1&start=$2
RewriteRule ^ftopic([0-9]*).* viewtopic.php?t=$1
RewriteRule ^ftopic([0-9]*).html viewtopic.php?t=$1&start=$2&postdays=$3&postorder=$4&

来源:https://www.tulaoshi.com/n/20160129/1491258.html

延伸阅读
微软在桌面系统上的成功,令我们不得不大量使用它的办公产品,如:Word,Excel。时至今日,它的源代码仍然不公开已封锁了我们的进一步应用和开发。然而在要求更高的服务器领域,微软本身的产品移植性不好, 性能不佳。在我们实际的开发中,表现层的解决方案虽然有多样,但是Ie浏览器已成为最多人使用的浏览器,因为大家都用Windows。在企业...
标签: 电脑入门
当您尝试运行 Windows Server 2003、 Windows XP、 Windows 2000 或 Windows NT 4.0 的计算机中注销时,可能会遇到下列症状: 1、备份可能无法启动。从备份程序的应用程序日志中有错。但是,如果您看到事件 ID 1524,备份已运行。 2、当您尝试在 Windows 2000 中注销时,很长的时间,将显示"正在保存设置..."消息,Windows 会停止...
标签: ASP
  程序代码: <script Language=VBScript   Function print_onclick //打印函数    Dim label    label=document.printinfo.label.value //获得HTML页面的数据    set objfs=CreateObject("Scripting.FileSystemObject") //创建FileSystem组件对象的实例   &...
标签: windows 操作系统
Windows Installer(windows安装服务)是一种通用的软件发布方式,现在许多软件都使用windows Installer作为自己的安装程序,有时因为各种原因以及windows Installer本身的缺陷,会导致windows Installer出错。 症状一:删除某个程序后,在运行某些软件时,老会弹出一个“windows正在配置Windows Installer,请稍候”的窗口。 ...
标签: ASP
  "ASP 0115"是什么错误? 如果你的ASP报告0115 error,意思是“我不知道是什么原因引起这个错误” 0115 error引起的原因一般是由外部因素引起的。 在下面我列出了一些可能引起报0115 error的东东,并且也提出了一些供参考的解决办法: 1.文件或注册键的权限和证明引起 如果系统授权用户对一些自建组件,系统动态链接库(DLL)...

经验教程

223

收藏

62
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部