phpbb mod for google 完全解决方案

2016-01-29 13:43 8 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&

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

延伸阅读
微软在桌面系统上的成功,令我们不得不大量使用它的办公产品,如:Word,Excel。时至今日,它的源代码仍然不公开已封锁了我们的进一步应用和开发。然而在要求更高的服务器领域,微软本身的产品移植性不好, 性能不佳。在我们实际的开发中,表现层的解决方案虽然有多样,但是Ie浏览器已成为最多人使用的浏览器,因为大家都用Windows。在企业...
标签: 电脑入门
使用Windows出现蓝色屏幕是经常的事,而且每每因为不清楚错误的 第四步:安装最新的主板驱动程序,特别IDE驱动。如果你的光驱、可移动存储器也提供有驱动程序,最好将它们升级至最新版。 6、0x00000027:RDR_FILE_SYSTEM ◆错误分析:这个错误产生的原因很难判断,不过Windows内存管理出了问题很可能会导致这个停机码的出现。 ◇解决方案:如...
标签: ASP
  使用到的技术:   ASP,WSH,VBScript   文件ASPPrint.asp代码如下:   <%@ Language=VBScript %   <%        Option Explicit         Dim strSubmit         &...
随着ADSL宽带接入技术的成熟,各种全新的技术应用已经深入到千家万户,由此引发的故障也随之而来。下面,笔者将维护过程中遇到的几则ADSL宽带经典故障分享给大家,希望能够给ADSL用户一定的帮助。 一、拨号时出现678错误 帮障表现:Windows XP SP2操作系统,ADSL虚拟拨号用户。点击“宽带连接”时出现678错误。...
标签: 电脑入门
当您尝试运行 Windows Server 2003、 Windows XP、 Windows 2000 或 Windows NT 4.0 的计算机中注销时,可能会遇到下列症状: 1、备份可能无法启动。从备份程序的应用程序日志中有错。但是,如果您看到事件 ID 1524,备份已运行。 2、当您尝试在 Windows 2000 中注销时,很长的时间,将显示"正在保存设置..."消息,Windows 会停止...

经验教程

764

收藏

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