现在的网页静态化形式是 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: https://discuz.dismall.com/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
复制代码
如果您没有添加过这个规则, 请参考 https://discuz.dismall.com/usersguide/advanced_urlrewrite.htm 添加后再进行上述修改.
2. 打开 include/global.func.php, 查找:
在上面添加:
- // ADD BY mfboy
- global $boardurl, $PHP_SELF;
- if(substr($PHP_SELF, -1) == '/' && in_array(CURSCRIPT, 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. 打开后台, 开启静态化, 安装完成.
以上程序属于原创, 转载请保留原作者及出处.
[ 本帖最后由 魔焰男孩 于 2006-9-24 09:10 编辑 ] |