现在的网页静态化形式是 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. 打开后台, 开启静态化, 安装完成.