无车无房无良田,冷暖饥饱任凭天!

论坛静态化又一招 (有效加强搜索引擎的抓取)

上一篇 / 下一篇  2006-11-24 17:37:55 / 个人分类:转载

每篇一扯!
  • 叼着烟,看街上的人来车往。在他乡... ...:
论坛静态化又一招 (有效加强搜索引擎的抓取)

现在的网页静态化形式是  thread-1-1-1.html  forum-1-1.html  viewpro-uid-1.html  类似的, 这样虽然能加强搜索引擎的抓捕, 不过如果用了这个插件, 搜索引擎的抓捕应该会更加彻底, 因为他将会把原来的静态网页变成三级域名.

列个表格 (假如某论坛开启了 rewrite 静态化, 那么它在装本插件的前后的对比将是这样的:

安装前

安装后

浏览帖子内容

thread-1-1-1.html

thread-1-1-1/

浏览帖子列表

forum-1-1.html

forum-1-1/

浏览用户资料

viewpro-uid-1.html

viewpro-uid-1/

相比之下, 搜索引擎抓取三级域名下的网页会比静态网页的几率要高得多.

安装条件: 服务器必须支持 rewrite 伪静态模块.

安装方法如下:

1. 添加 rewrite 规则

首先请参阅这里, 看看您的服务器是否支持 rewrite: http://www.discuz.net/usersguide/advanced_urlrewrite.htm
如果您确认您的主机支持 rewrite, 请按照下面的步骤进行安装:

如果您曾经添加过 Discuz! 的静态化规则, 那么:

独立主机的用户请打开 conf/httpd.conf, 查找:

RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay.php?fid=$2&page=$3
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3
RewriteRule ^(.*)/profile-(username|uid)-(.+)\.html$ $1/viewpro.php?$2=$3

替换为:

RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)/$ $1/forumdisplay.php?fid=$2&page=$3
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)/$ $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3
RewriteRule ^(.*)/profile-(username|uid)-(.+)/$ $1/viewpro.php?$2=$3

虚拟主机用户请打开  .htaccess , 查找:

RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2
RewriteRule ^profile-(username|uid)-(.+)\.html$ viewpro.php?$1=$2

替换为:

RewriteRule ^forum-([0-9]+)-([0-9]+)/$ $1/forumdisplay.php?fid=$2&page=$3
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)/$ $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3
RewriteRule ^profile-(username|uid)-(.+)/$ $1/viewpro.php?$2=$3

如果您没有添加过这个规则, 请参考 http://www.discuz.net/usersguide/advanced_urlrewrite.htm 添加后再进行上述修改.

2. 打开 include/global.func.php, 查找:

ob_end_clean();

在上面添加:

// ADD BY mfboy
  global $boardurl, $PHP_SELF;
  if(substr($PHP_SELF, -1) == '/' && in_array(CURscrīpt, array('forumdisplay', 'viewthread', 'viewpro'))) {
   $boardurl = substr($boardurl, 0, strrpos(substr($boardurl, 0, strlen($boardurl) - 1), '/') + 1);
   $content = preg_replace('/(href|src|action)+\=([\'"]+)/i', '\\1=\\2'.$boardurl.'', $content);
  }
// ADD BY mfboy

再找:

function rewrite_thread($tid, $page = 0, $prevpage = 0, $extra = '') {
return '<a href="thread-'.$tid.'-'.($page ? $page : 1).'-'.($prevpage ? $prevpage : 1).'.html"'.stripslashes($extra).'>';
}
function rewrite_forum($fid, $page = 0, $extra = '') {
return '<a href="forum-'.$fid.'-'.($page ? $page : 1).'.html"'.stripslashes($extra).'>';
}
function rewrite_profile($uid, $username, $extra = '') {
return '<a href="profile-'.($uid ? 'uid-'.$uid : 'username-'.$username).'.html"'.stripslashes($extra).'>';
}

替换为:

function rewrite_thread($tid, $page = 0, $prevpage = 0, $extra = '') {
return '<a href="thread-'.$tid.'-'.($page ? $page : 1).'-'.($prevpage ? $prevpage : 1).'/"'.stripslashes($extra).'>';
}
function rewrite_forum($fid, $page = 0, $extra = '') {
return '<a href="forum-'.$fid.'-'.($page ? $page : 1).'/"'.stripslashes($extra).'>';
}
function rewrite_profile($uid, $username, $extra = '') {
return '<a href="profile-'.($uid ? 'uid-'.$uid : 'username-'.$username).'/"'.stripslashes($extra).'>';
}

3. 打开 include/menu.js, 查找:

img.src = 'images/common/jsmenu.gif';

替换为:

img.src = 'http://您的论坛地址/images/common/jsmenu.gif';

记住把替换代码中的中文修改为您的论坛地址.

4. 打开后台, 开启静态化, 安装完成.

TAG: 转载

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar