本文修改方法仅适用8.7,9.0用户可以参照着修改,大同小异。以下修改实现了如下功能:
1、将8.7原先的伪静态地址改为官方9.0伪静态形式
2、将已经被搜索引擎收录的版块和帖子地址都301跳转到新的伪静态地址(已经升级到9.0的也可以参照修改,保证原先8.7的地址有效)
1、修改 require/common.php
查找:- function urlRewrite($url) {
- global $db_htmifopen, $db_dir, $db_ext;
- if (!$db_htmifopen) return $url;
- $tmppos = strpos($url, '#');
- $add = $tmppos !== false ? substr($url, $tmppos) : '';
- $turl = str_replace(array('.php?', '=', '&', '&', $add), array($db_dir, '-', '-', '-', ''), $url);
- $turl != $url && $turl .= $db_ext;
- return $turl . $add;
- }
复制代码 将其替换成:- function urlRewrite($url) {
- /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.
- *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
- */ global $db_htmifopen, $db_dir, $db_ext;
- if (!$db_htmifopen) return $url;
- if(strpos($url, 'thread.php?') !== false){
- unset($URL_type);
- $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
- foreach($Thread_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'fid':
- $URL_type['fid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type['type'] = 2;}
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "thread/" . $URL_type['fid']; break;
- case '2':
- $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
- }}elseif(strpos($url, 'read.php?') !== false){
- unset($URL_type);
- $tmppos = strpos($url, '#');
- $add = $tmppos !== false ? substr($url, $tmppos) : '';
- $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
- foreach($Read_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'tid':
- $URL_type['tid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type[type] = 2;}
- break;
- case 'fpage':
- $URL_type['fpage'] = $URL_array['1'];
- $URL_type['type'] < 3 && $URL_type['type'] = 1;
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "read/".$URL_type['tid'];
- break;
- case '2':
- $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];
- break;
- case '3':
- $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];
- break;
- }
- }
-
- return $url.$add;
- }
复制代码 2、添加伪静态规则:
nginx规则:- location / {
- rewrite ^/thread/([0-9]+)/(.*)$ /thread.php?fid=$1&page=$2 last;
- rewrite ^/thread/([0-9]+)$ /thread.php?fid=$1 last;
- rewrite ^/read/([0-9]+)/(.*)$ /read.php?tid=$1&page=$2 last;
- rewrite ^/read/([0-9]+)$ /read.php?tid=$1 last;
- rewrite ^/u/([0-9]+)$ /u.php?uid=$1 last;
复制代码 IIS规则:
- RewriteRule ^thread/([0-9]+)/(.*)$ thread.php?fid=$1&page=$2 [L]
- RewriteRule ^thread/([0-9]+)$ thread.php?fid=$1 [L]
- RewriteRule ^read/([0-9]+)/(.*)$ read.php?tid=$1&page=$2 [L]
- RewriteRule ^read/([0-9]+)$ read.php?tid=$1 [L]
- RewriteRule ^u/([0-9]+)$ u.php?uid=$1 [L]
复制代码 如果你之前启用过伪静态,以我的为例,我之前用的伪静态是格式如下:
版块伪静态:forum-xxx.html
帖子内容页伪静态:thread-xxx.html
那么伪静态规则还要加入,目的是使访问原先的伪静态地址301跳转到新的伪静态:
nginx规则:- rewrite ^/forum-([0-9]+)-(.*).html$ /thread/$1/$2 permanent;
- rewrite ^/forum-([0-9]+).html$ /thread/$1 permanent;
- rewrite ^/thread-([0-9]+)-(.*).html$ /read/$1/$2 permanent;
- rewrite ^/thread-([0-9]+).html$ /read/$1 permanent;
复制代码 IIS规则:
- RewriteRule ^forum-([0-9]+)-(.*).html$ thread/$1/$2 [R=301]
- RewriteRule ^forum-([0-9]+).html$ thread/$1 [R=301]
- RewriteRule ^thread-([0-9]+)-(.*).html$ read/$1/$2 [R=301]
- RewriteRule ^thread-([0-9]+).html$ read/$1 [R=301]
复制代码
3、将类似read.php?tid=xx 、read.php?tid-xx.html 等都301跳转到伪静态地址
修改read.php
在- S::gp(array('uid','ds','award'));
复制代码 下面
添加(记得修改bbs.320921.com为你自己的)- $url_array = explode('=',$_SERVER['REQUEST_URI']);
- if(strpos($url_array[1],'page') && is_numeric($url_array[2])) {
- $curl="http://bbs.320921.com/read/".$tid."/".$url_array[2];
- header("HTTP/1.1 301 Moved Permanently");
- header ("Location:$curl"); }
- elseif(strpos($url_array[0],'tid') && empty($url_array[2])) {
- $curl="http://bbs.320921.com/read/".$tid;
- header("HTTP/1.1 301 Moved Permanently");
- header ("Location:$curl");
- }
复制代码 修改thread.php,将类似thread.php?fid=xx 、thread.php?fid-xx.html
在- L::loadClass('forum', 'forum', false);
复制代码 下面添加(记得修改bbs.320921.com为你自己的):- $url_array = explode('=',$_SERVER['REQUEST_URI']);
- if(strpos($url_array[1],'page') && is_numeric($url_array[2])) {
- $curl="http://bbs.320921.com/thread/".$fid."/".$url_array[2];
- header("HTTP/1.1 301 Moved Permanently");
- header ("Location:$curl"); }
- elseif(strpos($url_array[0],'fid') && empty($url_array[2])) {
- $curl="http://bbs.320921.com/thread/".$fid;
- header("HTTP/1.1 301 Moved Permanently");
- header ("Location:$curl");
- }
复制代码 修改simple/mod_index.php
在- function urlRewrite($url) {
- /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.
- *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
- */ global $db_htmifopen, $db_dir, $db_ext;
- if (!$db_htmifopen) return $url;
- if(strpos($url, 'thread.php?') !== false){
- unset($URL_type);
- $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
- foreach($Thread_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'fid':
- $URL_type['fid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type['type'] = 2;}
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "thread/" . $URL_type['fid']; break;
- case '2':
- $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
- }}elseif(strpos($url, 'read.php?') !== false){
- unset($URL_type);
- $tmppos = strpos($url, '#');
- $add = $tmppos !== false ? substr($url, $tmppos) : '';
- $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
- foreach($Read_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'tid':
- $URL_type['tid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type[type] = 2;}
- break;
- case 'fpage':
- $URL_type['fpage'] = $URL_array['1'];
- $URL_type['type'] < 3 && $URL_type['type'] = 1;
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "read/".$URL_type['tid'];
- break;
- case '2':
- $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];
- break;
- case '3':
- $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];
- break;
- }
- }
-
- return $url.$add;
- }0
复制代码 下面加入,目的是关闭simple,访问无图版自动跳转到首页。- function urlRewrite($url) {
- /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.
- *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
- */ global $db_htmifopen, $db_dir, $db_ext;
- if (!$db_htmifopen) return $url;
- if(strpos($url, 'thread.php?') !== false){
- unset($URL_type);
- $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
- foreach($Thread_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'fid':
- $URL_type['fid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type['type'] = 2;}
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "thread/" . $URL_type['fid']; break;
- case '2':
- $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
- }}elseif(strpos($url, 'read.php?') !== false){
- unset($URL_type);
- $tmppos = strpos($url, '#');
- $add = $tmppos !== false ? substr($url, $tmppos) : '';
- $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
- foreach($Read_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'tid':
- $URL_type['tid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type[type] = 2;}
- break;
- case 'fpage':
- $URL_type['fpage'] = $URL_array['1'];
- $URL_type['type'] < 3 && $URL_type['type'] = 1;
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "read/".$URL_type['tid'];
- break;
- case '2':
- $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];
- break;
- case '3':
- $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];
- break;
- }
- }
-
- return $url.$add;
- }1
复制代码 修改mod_read.php
查找- function urlRewrite($url) {
- /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.
- *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
- */ global $db_htmifopen, $db_dir, $db_ext;
- if (!$db_htmifopen) return $url;
- if(strpos($url, 'thread.php?') !== false){
- unset($URL_type);
- $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
- foreach($Thread_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'fid':
- $URL_type['fid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type['type'] = 2;}
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "thread/" . $URL_type['fid']; break;
- case '2':
- $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
- }}elseif(strpos($url, 'read.php?') !== false){
- unset($URL_type);
- $tmppos = strpos($url, '#');
- $add = $tmppos !== false ? substr($url, $tmppos) : '';
- $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
- foreach($Read_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'tid':
- $URL_type['tid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type[type] = 2;}
- break;
- case 'fpage':
- $URL_type['fpage'] = $URL_array['1'];
- $URL_type['type'] < 3 && $URL_type['type'] = 1;
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "read/".$URL_type['tid'];
- break;
- case '2':
- $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];
- break;
- case '3':
- $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];
- break;
- }
- }
-
- return $url.$add;
- }2
复制代码 将其上面所有代码替换成(记得网址改成自己的):- function urlRewrite($url) {
- /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.
- *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
- */ global $db_htmifopen, $db_dir, $db_ext;
- if (!$db_htmifopen) return $url;
- if(strpos($url, 'thread.php?') !== false){
- unset($URL_type);
- $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
- foreach($Thread_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'fid':
- $URL_type['fid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type['type'] = 2;}
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "thread/" . $URL_type['fid']; break;
- case '2':
- $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
- }}elseif(strpos($url, 'read.php?') !== false){
- unset($URL_type);
- $tmppos = strpos($url, '#');
- $add = $tmppos !== false ? substr($url, $tmppos) : '';
- $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
- foreach($Read_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'tid':
- $URL_type['tid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type[type] = 2;}
- break;
- case 'fpage':
- $URL_type['fpage'] = $URL_array['1'];
- $URL_type['type'] < 3 && $URL_type['type'] = 1;
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "read/".$URL_type['tid'];
- break;
- case '2':
- $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];
- break;
- case '3':
- $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];
- break;
- }
- }
-
- return $url.$add;
- }3
复制代码 打开mod_thread.php
查找- function urlRewrite($url) {
- /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.
- *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
- */ global $db_htmifopen, $db_dir, $db_ext;
- if (!$db_htmifopen) return $url;
- if(strpos($url, 'thread.php?') !== false){
- unset($URL_type);
- $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
- foreach($Thread_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'fid':
- $URL_type['fid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type['type'] = 2;}
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "thread/" . $URL_type['fid']; break;
- case '2':
- $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
- }}elseif(strpos($url, 'read.php?') !== false){
- unset($URL_type);
- $tmppos = strpos($url, '#');
- $add = $tmppos !== false ? substr($url, $tmppos) : '';
- $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
- foreach($Read_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'tid':
- $URL_type['tid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type[type] = 2;}
- break;
- case 'fpage':
- $URL_type['fpage'] = $URL_array['1'];
- $URL_type['type'] < 3 && $URL_type['type'] = 1;
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "read/".$URL_type['tid'];
- break;
- case '2':
- $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];
- break;
- case '3':
- $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];
- break;
- }
- }
-
- return $url.$add;
- }4
复制代码 至- function urlRewrite($url) {
- /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.
- *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
- */ global $db_htmifopen, $db_dir, $db_ext;
- if (!$db_htmifopen) return $url;
- if(strpos($url, 'thread.php?') !== false){
- unset($URL_type);
- $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
- foreach($Thread_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'fid':
- $URL_type['fid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type['type'] = 2;}
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "thread/" . $URL_type['fid']; break;
- case '2':
- $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
- }}elseif(strpos($url, 'read.php?') !== false){
- unset($URL_type);
- $tmppos = strpos($url, '#');
- $add = $tmppos !== false ? substr($url, $tmppos) : '';
- $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
- foreach($Read_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'tid':
- $URL_type['tid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type[type] = 2;}
- break;
- case 'fpage':
- $URL_type['fpage'] = $URL_array['1'];
- $URL_type['type'] < 3 && $URL_type['type'] = 1;
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "read/".$URL_type['tid'];
- break;
- case '2':
- $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];
- break;
- case '3':
- $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];
- break;
- }
- }
-
- return $url.$add;
- }5
复制代码 之间代码替换成:- function urlRewrite($url) {
- /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.
- *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
- */ global $db_htmifopen, $db_dir, $db_ext;
- if (!$db_htmifopen) return $url;
- if(strpos($url, 'thread.php?') !== false){
- unset($URL_type);
- $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
- foreach($Thread_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'fid':
- $URL_type['fid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type['type'] = 2;}
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "thread/" . $URL_type['fid']; break;
- case '2':
- $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
- }}elseif(strpos($url, 'read.php?') !== false){
- unset($URL_type);
- $tmppos = strpos($url, '#');
- $add = $tmppos !== false ? substr($url, $tmppos) : '';
- $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
- foreach($Read_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'tid':
- $URL_type['tid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type[type] = 2;}
- break;
- case 'fpage':
- $URL_type['fpage'] = $URL_array['1'];
- $URL_type['type'] < 3 && $URL_type['type'] = 1;
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "read/".$URL_type['tid'];
- break;
- case '2':
- $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];
- break;
- case '3':
- $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];
- break;
- }
- }
-
- return $url.$add;
- }6
复制代码
4、打开js/pw_lwd.js文件
15-16行 将- function urlRewrite($url) {
- /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.
- *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
- */ global $db_htmifopen, $db_dir, $db_ext;
- if (!$db_htmifopen) return $url;
- if(strpos($url, 'thread.php?') !== false){
- unset($URL_type);
- $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
- foreach($Thread_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'fid':
- $URL_type['fid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type['type'] = 2;}
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "thread/" . $URL_type['fid']; break;
- case '2':
- $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
- }}elseif(strpos($url, 'read.php?') !== false){
- unset($URL_type);
- $tmppos = strpos($url, '#');
- $add = $tmppos !== false ? substr($url, $tmppos) : '';
- $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
- foreach($Read_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'tid':
- $URL_type['tid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type[type] = 2;}
- break;
- case 'fpage':
- $URL_type['fpage'] = $URL_array['1'];
- $URL_type['type'] < 3 && $URL_type['type'] = 1;
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "read/".$URL_type['tid'];
- break;
- case '2':
- $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];
- break;
- case '3':
- $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];
- break;
- }
- }
-
- return $url.$add;
- }7
复制代码 修改为- function urlRewrite($url) {
- /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.
- *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
- */ global $db_htmifopen, $db_dir, $db_ext;
- if (!$db_htmifopen) return $url;
- if(strpos($url, 'thread.php?') !== false){
- unset($URL_type);
- $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
- foreach($Thread_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'fid':
- $URL_type['fid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type['type'] = 2;}
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "thread/" . $URL_type['fid']; break;
- case '2':
- $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
- }}elseif(strpos($url, 'read.php?') !== false){
- unset($URL_type);
- $tmppos = strpos($url, '#');
- $add = $tmppos !== false ? substr($url, $tmppos) : '';
- $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
- foreach($Read_array as $key => $value){
- $URL_array = explode('=', $value, 2);
- if($URL_array['1']){
- switch($URL_array['0']){
- case 'tid':
- $URL_type['tid'] = $URL_array['1'];
- $URL_type['type'] < 1 && $URL_type['type'] = 1;
- break;
- case 'page':
- $URL_type['page'] = $URL_array['1'];
- if ($URL_type['page']!=1){
- $URL_type['type'] < 2 && $URL_type[type] = 2;}
- break;
- case 'fpage':
- $URL_type['fpage'] = $URL_array['1'];
- $URL_type['type'] < 3 && $URL_type['type'] = 1;
- break;
- default:
- $URL_type['type'] = 4;
- break;
- }}}
- switch($URL_type['type']){
- case '1':
- $url = "read/".$URL_type['tid'];
- break;
- case '2':
- $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];
- break;
- case '3':
- $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];
- break;
- }
- }
-
- return $url.$add;
- }8
复制代码 目的是为了解决后台开启ajax功能后,一些管理无法操作问题。
OK了,大家如果有什么问题可以回复留言。
响水论坛 |