轻源码

  • QingYuanMa.com
  • 全球最大的互联网技术和资源下载平台
搜索
一起源码网 门户 PHPwind专区 查看主题

将8.7伪静态修改为官方9.0伪静态格式。

发布者: saintly | 发布时间: 2018-7-7 04:46| 查看数: 4315| 评论数: 1|帖子模式

本文修改方法仅适用8.7,9.0用户可以参照着修改,大同小异。以下修改实现了如下功能:
1、将8.7原先的伪静态地址改为官方9.0伪静态形式
2、将已经被搜索引擎收录的版块和帖子地址都301跳转到新的伪静态地址(已经升级到9.0的也可以参照修改,保证原先8.7的地址有效)




1、修改 require/common.php
查找:
  1. function urlRewrite($url) {
  2.     global $db_htmifopen, $db_dir, $db_ext;
  3.     if (!$db_htmifopen) return $url;
  4.     $tmppos = strpos($url, '#');
  5.     $add = $tmppos !== false ? substr($url, $tmppos) : '';
  6.     $turl = str_replace(array('.php?', '=', '&', '&', $add), array($db_dir, '-', '-', '-', ''), $url);
  7.     $turl != $url && $turl .= $db_ext;
  8.     return $turl . $add;
  9. }
复制代码
将其替换成:
  1. function urlRewrite($url) {
  2. /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.  
  3. *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
  4. */    global $db_htmifopen, $db_dir, $db_ext;
  5. if (!$db_htmifopen) return $url;
  6.     if(strpos($url, 'thread.php?') !== false){
  7.          unset($URL_type);  
  8.          $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
  9.           foreach($Thread_array as $key => $value){
  10.              $URL_array = explode('=', $value, 2);
  11.               if($URL_array['1']){
  12.                switch($URL_array['0']){
  13.                 case 'fid':
  14.                     $URL_type['fid'] = $URL_array['1'];
  15.                     $URL_type['type'] < 1 && $URL_type['type'] = 1;
  16.                 break;
  17.                 case 'page':
  18.                     $URL_type['page'] = $URL_array['1'];
  19.                 if ($URL_type['page']!=1){
  20.                     $URL_type['type'] < 2 && $URL_type['type'] = 2;}
  21.                 break;
  22.                 default:
  23.                     $URL_type['type'] = 4;
  24.                 break;
  25.                 }}}
  26.          switch($URL_type['type']){
  27.            case '1':
  28.                $url = "thread/" . $URL_type['fid']; break;  
  29.            case '2':
  30.                $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
  31.              }}elseif(strpos($url, 'read.php?') !== false){
  32.                 unset($URL_type);
  33.                 $tmppos = strpos($url, '#');
  34.                  $add = $tmppos !== false ? substr($url, $tmppos) : '';
  35.             $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
  36.                 foreach($Read_array as $key => $value){
  37.                 $URL_array = explode('=', $value, 2);
  38.                 if($URL_array['1']){
  39.                     switch($URL_array['0']){
  40.                         case 'tid':
  41.                             $URL_type['tid'] = $URL_array['1'];
  42.                             $URL_type['type'] < 1 && $URL_type['type'] = 1;
  43.                             break;
  44.                         case 'page':
  45.                             $URL_type['page'] = $URL_array['1'];
  46.                         if ($URL_type['page']!=1){
  47.                             $URL_type['type'] < 2 && $URL_type[type] = 2;}
  48.                             break;
  49.                         case 'fpage':
  50.                             $URL_type['fpage'] = $URL_array['1'];
  51.                             $URL_type['type'] < 3 && $URL_type['type'] = 1;
  52.                             break;
  53.                         default:
  54.                             $URL_type['type'] = 4;
  55.                             break;
  56.                         }}}
  57.           switch($URL_type['type']){
  58.              case '1':
  59.                  $url = "read/".$URL_type['tid'];  
  60.                  break;
  61.              case '2':
  62.                  $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];  
  63.                  break;
  64.              case '3':
  65.                  $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];  
  66.                  break;
  67.                  }
  68.              }
  69.                
  70.           return $url.$add;
  71. }
复制代码
2、添加伪静态规则:
nginx规则:
  1. location / {
  2.         rewrite ^/thread/([0-9]+)/(.*)$ /thread.php?fid=$1&page=$2 last;
  3.         rewrite ^/thread/([0-9]+)$ /thread.php?fid=$1 last;
  4.         rewrite ^/read/([0-9]+)/(.*)$ /read.php?tid=$1&page=$2 last;
  5.         rewrite ^/read/([0-9]+)$ /read.php?tid=$1 last;
  6.         rewrite ^/u/([0-9]+)$ /u.php?uid=$1 last;
复制代码
IIS规则:
  1. RewriteRule ^thread/([0-9]+)/(.*)$ thread.php?fid=$1&page=$2 [L]
  2. RewriteRule ^thread/([0-9]+)$ thread.php?fid=$1 [L]
  3. RewriteRule ^read/([0-9]+)/(.*)$ read.php?tid=$1&page=$2 [L]
  4. RewriteRule ^read/([0-9]+)$ read.php?tid=$1 [L]
  5. RewriteRule ^u/([0-9]+)$ u.php?uid=$1 [L]
复制代码
如果你之前启用过伪静态,以我的为例,我之前用的伪静态是格式如下:
版块伪静态:forum-xxx.html
帖子内容页伪静态:thread-xxx.html
那么伪静态规则还要加入,目的是使访问原先的伪静态地址301跳转到新的伪静态:
nginx规则:
  1. rewrite ^/forum-([0-9]+)-(.*).html$ /thread/$1/$2 permanent;
  2. rewrite ^/forum-([0-9]+).html$ /thread/$1 permanent;
  3. rewrite ^/thread-([0-9]+)-(.*).html$ /read/$1/$2 permanent;
  4. rewrite ^/thread-([0-9]+).html$ /read/$1 permanent;
复制代码
IIS规则:
  1. RewriteRule ^forum-([0-9]+)-(.*).html$ thread/$1/$2 [R=301]
  2. RewriteRule ^forum-([0-9]+).html$ thread/$1 [R=301]
  3. RewriteRule ^thread-([0-9]+)-(.*).html$ read/$1/$2 [R=301]
  4. RewriteRule ^thread-([0-9]+).html$ read/$1 [R=301]
复制代码

3、将类似read.php?tid=xx 、read.php?tid-xx.html 等都301跳转到伪静态地址
修改read.php
  1. S::gp(array('uid','ds','award'));
复制代码
下面
添加(记得修改bbs.320921.com为你自己的)
  1. $url_array = explode('=',$_SERVER['REQUEST_URI']);
  2. if(strpos($url_array[1],'page') && is_numeric($url_array[2])) {
  3.     $curl="http://bbs.320921.com/read/".$tid."/".$url_array[2];
  4.     header("HTTP/1.1 301 Moved Permanently");  
  5. header ("Location:$curl"); }
  6. elseif(strpos($url_array[0],'tid') && empty($url_array[2])) {
  7.     $curl="http://bbs.320921.com/read/".$tid;
  8.     header("HTTP/1.1 301 Moved Permanently");  
  9.     header ("Location:$curl");
  10. }
复制代码
修改thread.php,将类似thread.php?fid=xx 、thread.php?fid-xx.html
  1. L::loadClass('forum', 'forum', false);
复制代码
下面添加(记得修改bbs.320921.com为你自己的):
  1. $url_array = explode('=',$_SERVER['REQUEST_URI']);
  2. if(strpos($url_array[1],'page') && is_numeric($url_array[2])) {
  3.     $curl="http://bbs.320921.com/thread/".$fid."/".$url_array[2];
  4.     header("HTTP/1.1 301 Moved Permanently");  
  5. header ("Location:$curl"); }
  6. elseif(strpos($url_array[0],'fid') && empty($url_array[2])) {
  7.     $curl="http://bbs.320921.com/thread/".$fid;
  8.     header("HTTP/1.1 301 Moved Permanently");  
  9.     header ("Location:$curl");
  10. }
复制代码
修改simple/mod_index.php
  1. function urlRewrite($url) {
  2. /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.  
  3. *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
  4. */    global $db_htmifopen, $db_dir, $db_ext;
  5. if (!$db_htmifopen) return $url;
  6.     if(strpos($url, 'thread.php?') !== false){
  7.          unset($URL_type);  
  8.          $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
  9.           foreach($Thread_array as $key => $value){
  10.              $URL_array = explode('=', $value, 2);
  11.               if($URL_array['1']){
  12.                switch($URL_array['0']){
  13.                 case 'fid':
  14.                     $URL_type['fid'] = $URL_array['1'];
  15.                     $URL_type['type'] < 1 && $URL_type['type'] = 1;
  16.                 break;
  17.                 case 'page':
  18.                     $URL_type['page'] = $URL_array['1'];
  19.                 if ($URL_type['page']!=1){
  20.                     $URL_type['type'] < 2 && $URL_type['type'] = 2;}
  21.                 break;
  22.                 default:
  23.                     $URL_type['type'] = 4;
  24.                 break;
  25.                 }}}
  26.          switch($URL_type['type']){
  27.            case '1':
  28.                $url = "thread/" . $URL_type['fid']; break;  
  29.            case '2':
  30.                $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
  31.              }}elseif(strpos($url, 'read.php?') !== false){
  32.                 unset($URL_type);
  33.                 $tmppos = strpos($url, '#');
  34.                  $add = $tmppos !== false ? substr($url, $tmppos) : '';
  35.             $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
  36.                 foreach($Read_array as $key => $value){
  37.                 $URL_array = explode('=', $value, 2);
  38.                 if($URL_array['1']){
  39.                     switch($URL_array['0']){
  40.                         case 'tid':
  41.                             $URL_type['tid'] = $URL_array['1'];
  42.                             $URL_type['type'] < 1 && $URL_type['type'] = 1;
  43.                             break;
  44.                         case 'page':
  45.                             $URL_type['page'] = $URL_array['1'];
  46.                         if ($URL_type['page']!=1){
  47.                             $URL_type['type'] < 2 && $URL_type[type] = 2;}
  48.                             break;
  49.                         case 'fpage':
  50.                             $URL_type['fpage'] = $URL_array['1'];
  51.                             $URL_type['type'] < 3 && $URL_type['type'] = 1;
  52.                             break;
  53.                         default:
  54.                             $URL_type['type'] = 4;
  55.                             break;
  56.                         }}}
  57.           switch($URL_type['type']){
  58.              case '1':
  59.                  $url = "read/".$URL_type['tid'];  
  60.                  break;
  61.              case '2':
  62.                  $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];  
  63.                  break;
  64.              case '3':
  65.                  $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];  
  66.                  break;
  67.                  }
  68.              }
  69.                
  70.           return $url.$add;
  71. }0
复制代码
下面加入,目的是关闭simple,访问无图版自动跳转到首页。
  1. function urlRewrite($url) {
  2. /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.  
  3. *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
  4. */    global $db_htmifopen, $db_dir, $db_ext;
  5. if (!$db_htmifopen) return $url;
  6.     if(strpos($url, 'thread.php?') !== false){
  7.          unset($URL_type);  
  8.          $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
  9.           foreach($Thread_array as $key => $value){
  10.              $URL_array = explode('=', $value, 2);
  11.               if($URL_array['1']){
  12.                switch($URL_array['0']){
  13.                 case 'fid':
  14.                     $URL_type['fid'] = $URL_array['1'];
  15.                     $URL_type['type'] < 1 && $URL_type['type'] = 1;
  16.                 break;
  17.                 case 'page':
  18.                     $URL_type['page'] = $URL_array['1'];
  19.                 if ($URL_type['page']!=1){
  20.                     $URL_type['type'] < 2 && $URL_type['type'] = 2;}
  21.                 break;
  22.                 default:
  23.                     $URL_type['type'] = 4;
  24.                 break;
  25.                 }}}
  26.          switch($URL_type['type']){
  27.            case '1':
  28.                $url = "thread/" . $URL_type['fid']; break;  
  29.            case '2':
  30.                $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
  31.              }}elseif(strpos($url, 'read.php?') !== false){
  32.                 unset($URL_type);
  33.                 $tmppos = strpos($url, '#');
  34.                  $add = $tmppos !== false ? substr($url, $tmppos) : '';
  35.             $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
  36.                 foreach($Read_array as $key => $value){
  37.                 $URL_array = explode('=', $value, 2);
  38.                 if($URL_array['1']){
  39.                     switch($URL_array['0']){
  40.                         case 'tid':
  41.                             $URL_type['tid'] = $URL_array['1'];
  42.                             $URL_type['type'] < 1 && $URL_type['type'] = 1;
  43.                             break;
  44.                         case 'page':
  45.                             $URL_type['page'] = $URL_array['1'];
  46.                         if ($URL_type['page']!=1){
  47.                             $URL_type['type'] < 2 && $URL_type[type] = 2;}
  48.                             break;
  49.                         case 'fpage':
  50.                             $URL_type['fpage'] = $URL_array['1'];
  51.                             $URL_type['type'] < 3 && $URL_type['type'] = 1;
  52.                             break;
  53.                         default:
  54.                             $URL_type['type'] = 4;
  55.                             break;
  56.                         }}}
  57.           switch($URL_type['type']){
  58.              case '1':
  59.                  $url = "read/".$URL_type['tid'];  
  60.                  break;
  61.              case '2':
  62.                  $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];  
  63.                  break;
  64.              case '3':
  65.                  $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];  
  66.                  break;
  67.                  }
  68.              }
  69.                
  70.           return $url.$add;
  71. }1
复制代码
修改mod_read.php
查找
  1. function urlRewrite($url) {
  2. /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.  
  3. *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
  4. */    global $db_htmifopen, $db_dir, $db_ext;
  5. if (!$db_htmifopen) return $url;
  6.     if(strpos($url, 'thread.php?') !== false){
  7.          unset($URL_type);  
  8.          $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
  9.           foreach($Thread_array as $key => $value){
  10.              $URL_array = explode('=', $value, 2);
  11.               if($URL_array['1']){
  12.                switch($URL_array['0']){
  13.                 case 'fid':
  14.                     $URL_type['fid'] = $URL_array['1'];
  15.                     $URL_type['type'] < 1 && $URL_type['type'] = 1;
  16.                 break;
  17.                 case 'page':
  18.                     $URL_type['page'] = $URL_array['1'];
  19.                 if ($URL_type['page']!=1){
  20.                     $URL_type['type'] < 2 && $URL_type['type'] = 2;}
  21.                 break;
  22.                 default:
  23.                     $URL_type['type'] = 4;
  24.                 break;
  25.                 }}}
  26.          switch($URL_type['type']){
  27.            case '1':
  28.                $url = "thread/" . $URL_type['fid']; break;  
  29.            case '2':
  30.                $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
  31.              }}elseif(strpos($url, 'read.php?') !== false){
  32.                 unset($URL_type);
  33.                 $tmppos = strpos($url, '#');
  34.                  $add = $tmppos !== false ? substr($url, $tmppos) : '';
  35.             $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
  36.                 foreach($Read_array as $key => $value){
  37.                 $URL_array = explode('=', $value, 2);
  38.                 if($URL_array['1']){
  39.                     switch($URL_array['0']){
  40.                         case 'tid':
  41.                             $URL_type['tid'] = $URL_array['1'];
  42.                             $URL_type['type'] < 1 && $URL_type['type'] = 1;
  43.                             break;
  44.                         case 'page':
  45.                             $URL_type['page'] = $URL_array['1'];
  46.                         if ($URL_type['page']!=1){
  47.                             $URL_type['type'] < 2 && $URL_type[type] = 2;}
  48.                             break;
  49.                         case 'fpage':
  50.                             $URL_type['fpage'] = $URL_array['1'];
  51.                             $URL_type['type'] < 3 && $URL_type['type'] = 1;
  52.                             break;
  53.                         default:
  54.                             $URL_type['type'] = 4;
  55.                             break;
  56.                         }}}
  57.           switch($URL_type['type']){
  58.              case '1':
  59.                  $url = "read/".$URL_type['tid'];  
  60.                  break;
  61.              case '2':
  62.                  $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];  
  63.                  break;
  64.              case '3':
  65.                  $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];  
  66.                  break;
  67.                  }
  68.              }
  69.                
  70.           return $url.$add;
  71. }2
复制代码
将其上面所有代码替换成(记得网址改成自己的):
  1. function urlRewrite($url) {
  2. /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.  
  3. *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
  4. */    global $db_htmifopen, $db_dir, $db_ext;
  5. if (!$db_htmifopen) return $url;
  6.     if(strpos($url, 'thread.php?') !== false){
  7.          unset($URL_type);  
  8.          $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
  9.           foreach($Thread_array as $key => $value){
  10.              $URL_array = explode('=', $value, 2);
  11.               if($URL_array['1']){
  12.                switch($URL_array['0']){
  13.                 case 'fid':
  14.                     $URL_type['fid'] = $URL_array['1'];
  15.                     $URL_type['type'] < 1 && $URL_type['type'] = 1;
  16.                 break;
  17.                 case 'page':
  18.                     $URL_type['page'] = $URL_array['1'];
  19.                 if ($URL_type['page']!=1){
  20.                     $URL_type['type'] < 2 && $URL_type['type'] = 2;}
  21.                 break;
  22.                 default:
  23.                     $URL_type['type'] = 4;
  24.                 break;
  25.                 }}}
  26.          switch($URL_type['type']){
  27.            case '1':
  28.                $url = "thread/" . $URL_type['fid']; break;  
  29.            case '2':
  30.                $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
  31.              }}elseif(strpos($url, 'read.php?') !== false){
  32.                 unset($URL_type);
  33.                 $tmppos = strpos($url, '#');
  34.                  $add = $tmppos !== false ? substr($url, $tmppos) : '';
  35.             $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
  36.                 foreach($Read_array as $key => $value){
  37.                 $URL_array = explode('=', $value, 2);
  38.                 if($URL_array['1']){
  39.                     switch($URL_array['0']){
  40.                         case 'tid':
  41.                             $URL_type['tid'] = $URL_array['1'];
  42.                             $URL_type['type'] < 1 && $URL_type['type'] = 1;
  43.                             break;
  44.                         case 'page':
  45.                             $URL_type['page'] = $URL_array['1'];
  46.                         if ($URL_type['page']!=1){
  47.                             $URL_type['type'] < 2 && $URL_type[type] = 2;}
  48.                             break;
  49.                         case 'fpage':
  50.                             $URL_type['fpage'] = $URL_array['1'];
  51.                             $URL_type['type'] < 3 && $URL_type['type'] = 1;
  52.                             break;
  53.                         default:
  54.                             $URL_type['type'] = 4;
  55.                             break;
  56.                         }}}
  57.           switch($URL_type['type']){
  58.              case '1':
  59.                  $url = "read/".$URL_type['tid'];  
  60.                  break;
  61.              case '2':
  62.                  $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];  
  63.                  break;
  64.              case '3':
  65.                  $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];  
  66.                  break;
  67.                  }
  68.              }
  69.                
  70.           return $url.$add;
  71. }3
复制代码
打开mod_thread.php
查找
  1. function urlRewrite($url) {
  2. /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.  
  3. *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
  4. */    global $db_htmifopen, $db_dir, $db_ext;
  5. if (!$db_htmifopen) return $url;
  6.     if(strpos($url, 'thread.php?') !== false){
  7.          unset($URL_type);  
  8.          $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
  9.           foreach($Thread_array as $key => $value){
  10.              $URL_array = explode('=', $value, 2);
  11.               if($URL_array['1']){
  12.                switch($URL_array['0']){
  13.                 case 'fid':
  14.                     $URL_type['fid'] = $URL_array['1'];
  15.                     $URL_type['type'] < 1 && $URL_type['type'] = 1;
  16.                 break;
  17.                 case 'page':
  18.                     $URL_type['page'] = $URL_array['1'];
  19.                 if ($URL_type['page']!=1){
  20.                     $URL_type['type'] < 2 && $URL_type['type'] = 2;}
  21.                 break;
  22.                 default:
  23.                     $URL_type['type'] = 4;
  24.                 break;
  25.                 }}}
  26.          switch($URL_type['type']){
  27.            case '1':
  28.                $url = "thread/" . $URL_type['fid']; break;  
  29.            case '2':
  30.                $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
  31.              }}elseif(strpos($url, 'read.php?') !== false){
  32.                 unset($URL_type);
  33.                 $tmppos = strpos($url, '#');
  34.                  $add = $tmppos !== false ? substr($url, $tmppos) : '';
  35.             $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
  36.                 foreach($Read_array as $key => $value){
  37.                 $URL_array = explode('=', $value, 2);
  38.                 if($URL_array['1']){
  39.                     switch($URL_array['0']){
  40.                         case 'tid':
  41.                             $URL_type['tid'] = $URL_array['1'];
  42.                             $URL_type['type'] < 1 && $URL_type['type'] = 1;
  43.                             break;
  44.                         case 'page':
  45.                             $URL_type['page'] = $URL_array['1'];
  46.                         if ($URL_type['page']!=1){
  47.                             $URL_type['type'] < 2 && $URL_type[type] = 2;}
  48.                             break;
  49.                         case 'fpage':
  50.                             $URL_type['fpage'] = $URL_array['1'];
  51.                             $URL_type['type'] < 3 && $URL_type['type'] = 1;
  52.                             break;
  53.                         default:
  54.                             $URL_type['type'] = 4;
  55.                             break;
  56.                         }}}
  57.           switch($URL_type['type']){
  58.              case '1':
  59.                  $url = "read/".$URL_type['tid'];  
  60.                  break;
  61.              case '2':
  62.                  $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];  
  63.                  break;
  64.              case '3':
  65.                  $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];  
  66.                  break;
  67.                  }
  68.              }
  69.                
  70.           return $url.$add;
  71. }4
复制代码
  1. function urlRewrite($url) {
  2. /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.  
  3. *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
  4. */    global $db_htmifopen, $db_dir, $db_ext;
  5. if (!$db_htmifopen) return $url;
  6.     if(strpos($url, 'thread.php?') !== false){
  7.          unset($URL_type);  
  8.          $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
  9.           foreach($Thread_array as $key => $value){
  10.              $URL_array = explode('=', $value, 2);
  11.               if($URL_array['1']){
  12.                switch($URL_array['0']){
  13.                 case 'fid':
  14.                     $URL_type['fid'] = $URL_array['1'];
  15.                     $URL_type['type'] < 1 && $URL_type['type'] = 1;
  16.                 break;
  17.                 case 'page':
  18.                     $URL_type['page'] = $URL_array['1'];
  19.                 if ($URL_type['page']!=1){
  20.                     $URL_type['type'] < 2 && $URL_type['type'] = 2;}
  21.                 break;
  22.                 default:
  23.                     $URL_type['type'] = 4;
  24.                 break;
  25.                 }}}
  26.          switch($URL_type['type']){
  27.            case '1':
  28.                $url = "thread/" . $URL_type['fid']; break;  
  29.            case '2':
  30.                $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
  31.              }}elseif(strpos($url, 'read.php?') !== false){
  32.                 unset($URL_type);
  33.                 $tmppos = strpos($url, '#');
  34.                  $add = $tmppos !== false ? substr($url, $tmppos) : '';
  35.             $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
  36.                 foreach($Read_array as $key => $value){
  37.                 $URL_array = explode('=', $value, 2);
  38.                 if($URL_array['1']){
  39.                     switch($URL_array['0']){
  40.                         case 'tid':
  41.                             $URL_type['tid'] = $URL_array['1'];
  42.                             $URL_type['type'] < 1 && $URL_type['type'] = 1;
  43.                             break;
  44.                         case 'page':
  45.                             $URL_type['page'] = $URL_array['1'];
  46.                         if ($URL_type['page']!=1){
  47.                             $URL_type['type'] < 2 && $URL_type[type] = 2;}
  48.                             break;
  49.                         case 'fpage':
  50.                             $URL_type['fpage'] = $URL_array['1'];
  51.                             $URL_type['type'] < 3 && $URL_type['type'] = 1;
  52.                             break;
  53.                         default:
  54.                             $URL_type['type'] = 4;
  55.                             break;
  56.                         }}}
  57.           switch($URL_type['type']){
  58.              case '1':
  59.                  $url = "read/".$URL_type['tid'];  
  60.                  break;
  61.              case '2':
  62.                  $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];  
  63.                  break;
  64.              case '3':
  65.                  $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];  
  66.                  break;
  67.                  }
  68.              }
  69.                
  70.           return $url.$add;
  71. }5
复制代码
之间代码替换成:
  1. function urlRewrite($url) {
  2. /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.  
  3. *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
  4. */    global $db_htmifopen, $db_dir, $db_ext;
  5. if (!$db_htmifopen) return $url;
  6.     if(strpos($url, 'thread.php?') !== false){
  7.          unset($URL_type);  
  8.          $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
  9.           foreach($Thread_array as $key => $value){
  10.              $URL_array = explode('=', $value, 2);
  11.               if($URL_array['1']){
  12.                switch($URL_array['0']){
  13.                 case 'fid':
  14.                     $URL_type['fid'] = $URL_array['1'];
  15.                     $URL_type['type'] < 1 && $URL_type['type'] = 1;
  16.                 break;
  17.                 case 'page':
  18.                     $URL_type['page'] = $URL_array['1'];
  19.                 if ($URL_type['page']!=1){
  20.                     $URL_type['type'] < 2 && $URL_type['type'] = 2;}
  21.                 break;
  22.                 default:
  23.                     $URL_type['type'] = 4;
  24.                 break;
  25.                 }}}
  26.          switch($URL_type['type']){
  27.            case '1':
  28.                $url = "thread/" . $URL_type['fid']; break;  
  29.            case '2':
  30.                $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
  31.              }}elseif(strpos($url, 'read.php?') !== false){
  32.                 unset($URL_type);
  33.                 $tmppos = strpos($url, '#');
  34.                  $add = $tmppos !== false ? substr($url, $tmppos) : '';
  35.             $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
  36.                 foreach($Read_array as $key => $value){
  37.                 $URL_array = explode('=', $value, 2);
  38.                 if($URL_array['1']){
  39.                     switch($URL_array['0']){
  40.                         case 'tid':
  41.                             $URL_type['tid'] = $URL_array['1'];
  42.                             $URL_type['type'] < 1 && $URL_type['type'] = 1;
  43.                             break;
  44.                         case 'page':
  45.                             $URL_type['page'] = $URL_array['1'];
  46.                         if ($URL_type['page']!=1){
  47.                             $URL_type['type'] < 2 && $URL_type[type] = 2;}
  48.                             break;
  49.                         case 'fpage':
  50.                             $URL_type['fpage'] = $URL_array['1'];
  51.                             $URL_type['type'] < 3 && $URL_type['type'] = 1;
  52.                             break;
  53.                         default:
  54.                             $URL_type['type'] = 4;
  55.                             break;
  56.                         }}}
  57.           switch($URL_type['type']){
  58.              case '1':
  59.                  $url = "read/".$URL_type['tid'];  
  60.                  break;
  61.              case '2':
  62.                  $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];  
  63.                  break;
  64.              case '3':
  65.                  $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];  
  66.                  break;
  67.                  }
  68.              }
  69.                
  70.           return $url.$add;
  71. }6
复制代码


4、打开js/pw_lwd.js文件
15-16行 将
  1. function urlRewrite($url) {
  2. /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.  
  3. *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
  4. */    global $db_htmifopen, $db_dir, $db_ext;
  5. if (!$db_htmifopen) return $url;
  6.     if(strpos($url, 'thread.php?') !== false){
  7.          unset($URL_type);  
  8.          $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
  9.           foreach($Thread_array as $key => $value){
  10.              $URL_array = explode('=', $value, 2);
  11.               if($URL_array['1']){
  12.                switch($URL_array['0']){
  13.                 case 'fid':
  14.                     $URL_type['fid'] = $URL_array['1'];
  15.                     $URL_type['type'] < 1 && $URL_type['type'] = 1;
  16.                 break;
  17.                 case 'page':
  18.                     $URL_type['page'] = $URL_array['1'];
  19.                 if ($URL_type['page']!=1){
  20.                     $URL_type['type'] < 2 && $URL_type['type'] = 2;}
  21.                 break;
  22.                 default:
  23.                     $URL_type['type'] = 4;
  24.                 break;
  25.                 }}}
  26.          switch($URL_type['type']){
  27.            case '1':
  28.                $url = "thread/" . $URL_type['fid']; break;  
  29.            case '2':
  30.                $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
  31.              }}elseif(strpos($url, 'read.php?') !== false){
  32.                 unset($URL_type);
  33.                 $tmppos = strpos($url, '#');
  34.                  $add = $tmppos !== false ? substr($url, $tmppos) : '';
  35.             $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
  36.                 foreach($Read_array as $key => $value){
  37.                 $URL_array = explode('=', $value, 2);
  38.                 if($URL_array['1']){
  39.                     switch($URL_array['0']){
  40.                         case 'tid':
  41.                             $URL_type['tid'] = $URL_array['1'];
  42.                             $URL_type['type'] < 1 && $URL_type['type'] = 1;
  43.                             break;
  44.                         case 'page':
  45.                             $URL_type['page'] = $URL_array['1'];
  46.                         if ($URL_type['page']!=1){
  47.                             $URL_type['type'] < 2 && $URL_type[type] = 2;}
  48.                             break;
  49.                         case 'fpage':
  50.                             $URL_type['fpage'] = $URL_array['1'];
  51.                             $URL_type['type'] < 3 && $URL_type['type'] = 1;
  52.                             break;
  53.                         default:
  54.                             $URL_type['type'] = 4;
  55.                             break;
  56.                         }}}
  57.           switch($URL_type['type']){
  58.              case '1':
  59.                  $url = "read/".$URL_type['tid'];  
  60.                  break;
  61.              case '2':
  62.                  $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];  
  63.                  break;
  64.              case '3':
  65.                  $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];  
  66.                  break;
  67.                  }
  68.              }
  69.                
  70.           return $url.$add;
  71. }7
复制代码
修改为
  1. function urlRewrite($url) {
  2. /* *本方法切勿三心二意,确保伪静态地址不会经常性更改,伪静态规则不会被扰乱,且仅适用在论坛中.  
  3. *修改方法可以自由传播,如果你表明出处最好了! @By Josh(http://t.sina.com/abigbone) 2010-7-30
  4. */    global $db_htmifopen, $db_dir, $db_ext;
  5. if (!$db_htmifopen) return $url;
  6.     if(strpos($url, 'thread.php?') !== false){
  7.          unset($URL_type);  
  8.          $Thread_array = explode('&', substr(str_replace($add, '', $url), 11));
  9.           foreach($Thread_array as $key => $value){
  10.              $URL_array = explode('=', $value, 2);
  11.               if($URL_array['1']){
  12.                switch($URL_array['0']){
  13.                 case 'fid':
  14.                     $URL_type['fid'] = $URL_array['1'];
  15.                     $URL_type['type'] < 1 && $URL_type['type'] = 1;
  16.                 break;
  17.                 case 'page':
  18.                     $URL_type['page'] = $URL_array['1'];
  19.                 if ($URL_type['page']!=1){
  20.                     $URL_type['type'] < 2 && $URL_type['type'] = 2;}
  21.                 break;
  22.                 default:
  23.                     $URL_type['type'] = 4;
  24.                 break;
  25.                 }}}
  26.          switch($URL_type['type']){
  27.            case '1':
  28.                $url = "thread/" . $URL_type['fid']; break;  
  29.            case '2':
  30.                $url = "thread/" . $URL_type['fid'] . "/" . $URL_type['page']; break;
  31.              }}elseif(strpos($url, 'read.php?') !== false){
  32.                 unset($URL_type);
  33.                 $tmppos = strpos($url, '#');
  34.                  $add = $tmppos !== false ? substr($url, $tmppos) : '';
  35.             $Read_array = explode('&', substr(str_replace($add, '', $url), 9));
  36.                 foreach($Read_array as $key => $value){
  37.                 $URL_array = explode('=', $value, 2);
  38.                 if($URL_array['1']){
  39.                     switch($URL_array['0']){
  40.                         case 'tid':
  41.                             $URL_type['tid'] = $URL_array['1'];
  42.                             $URL_type['type'] < 1 && $URL_type['type'] = 1;
  43.                             break;
  44.                         case 'page':
  45.                             $URL_type['page'] = $URL_array['1'];
  46.                         if ($URL_type['page']!=1){
  47.                             $URL_type['type'] < 2 && $URL_type[type] = 2;}
  48.                             break;
  49.                         case 'fpage':
  50.                             $URL_type['fpage'] = $URL_array['1'];
  51.                             $URL_type['type'] < 3 && $URL_type['type'] = 1;
  52.                             break;
  53.                         default:
  54.                             $URL_type['type'] = 4;
  55.                             break;
  56.                         }}}
  57.           switch($URL_type['type']){
  58.              case '1':
  59.                  $url = "read/".$URL_type['tid'];  
  60.                  break;
  61.              case '2':
  62.                  $url = "read/".$URL_type['tid'] . "/" . $URL_type['page'];  
  63.                  break;
  64.              case '3':
  65.                  $url = "read/". $URL_type['tid'] . "/" . $URL_type['page'] . "/" . $URL_type['fpage'];  
  66.                  break;
  67.                  }
  68.              }
  69.                
  70.           return $url.$add;
  71. }8
复制代码
目的是为了解决后台开启ajax功能后,一些管理无法操作问题。


OK了,大家如果有什么问题可以回复留言。
响水论坛

最新评论

130040000 发表于 2022-7-4 15:03
波士顿动力机器狗开源代码

轻源码让程序更轻更快

QingYuanMa.com

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表