论坛风格切换
  • 8931阅读
  • 1回复

[整体方案]仿1.html,f2等(本站伪静态修改方法) [复制链接]

上一主题 下一主题
离线太史慈
 

发帖
766
金币
626
威望
556
只看楼主 倒序阅读 使用道具 楼主  发表于: 2011-06-27
高级伪静态教程教程(综合教程)http://www.phpwind.net/read-htm-tid-1054381.html


本站伪静态修改方法:
1。根目录下.htaccess(规则适用iis,其他nginx、apache还要稍做修改)
  1. RewriteEngine on
  2. RewriteRule f(\d+)_(.*)_(.*)$ /thread.php?fid=$1&page=$2&type=$3 [L]
  3. RewriteRule f(\d+)_(.*)$ /thread.php?fid=$1&page=$2 [L]
  4. RewriteRule f(\d+)$      /thread.php?fid=$1 [L]
  5. RewriteRule (\d+)_(.*)_(.*)_(.*).html$ /read.php?tid=$1&page=$2&fpage=$3&uid=$4 [L]
  6. RewriteRule (\d+)_(.*)_(.*).html$  /read.php?tid=$1&page=$2&fpage=$3 [L]
  7. RewriteRule (\d+)_(.*).html$   /read.php?tid=$1&page=$2 [L]
  8. RewriteRule (\d+).html   /read.php?tid=$1 [L]
  9. RewriteRule ^(.*)-htm-(.*)$ $1.php?$2 [L]
  10. RewriteRule /simple/([a-z0-9\_]+)\.html$ /simple/index\.php\?$1 [L]


然后还需要修改common.php,详见第2段。如果用户升级了版本后,还需要把common.php重新改一遍。而上面的伪静态规则不需要动了。
[url=http://www.phpwind.com]phpwind[/url]
离线太史慈

发帖
766
金币
626
威望
556
只看该作者 沙发  发表于: 2011-11-14
require/common.php
找到
  1. function urlRewrite($url) {

函数

全部改成
  1. function urlRewrite($url) {
  2. global $db_htmifopen, $db_dir, $db_ext;
  3. if (!$db_htmifopen) return $url;
  4.      if (!preg_match('/^(http|ftp|telnet|mms|rtsp)|admin.php|rss.php/i', $url)){
  5.          $add = strpos($url, '#') !== false ? substr($url, strpos($url, '#')) : '';
  6.          if(strpos($url, 'thread.php?') !== false){
  7.              unset($rw);
  8.              $tharr = explode('&', substr(str_replace($add, '', $url), 11));
  9.              foreach($tharr as $key => $value){
  10.                  $ru = explode('=', $value, 3);
  11.                  if($ru['1']){
  12.                      switch($ru['0']){
  13.                      case 'fid':
  14.                          $rw['fid'] = $ru['1'];
  15.                          $rw['para'] < 1 && $rw['para'] = 1;
  16.                          break;
  17.                      case 'page':
  18.                          $rw['page'] = $ru['1'];
  19.                          $rw['para'] < 2 && $rw['para'] = 2;
  20.                          break;
  21.                      case 'type':
  22.                          $rw['type'] = $ru['1'];
  23.                          $rw['para'] < 4 && $rw['para'] = 4;
  24.                          break;
  25.                      default:
  26.                          $rw['para'] = 8;
  27.                          $urlfail = 1;
  28.                          break;
  29.                          }
  30.                      }
  31.                  }
  32.                  switch($rw['para']){
  33.                  case '1':
  34.                      $url = "f" . $rw['fid'] ;
  35.                      break;
  36.                  case '2':
  37.                      $url = "f" . $rw['fid'] . "_" . $rw['page'] ;
  38.                      break;
  39.                  case '4':
  40.                      $url = "f" . $rw['fid'] . "_" . $rw['page'] . "_" . $rw['type'] ;
  41.                      break;
  42.                      }
  43.          }elseif(strpos($url, 'read.php?') !== false){
  44.              unset($rw);
  45.              $rarr = explode('&', substr(str_replace($add, '', $url), 9));
  46.              foreach($rarr as $key => $value){
  47.                  $ru = explode('=', $value, 2);
  48.                  if($ru['1']){
  49.                      switch($ru['0']){
  50.                      case 'tid':
  51.                          $rw['tid'] = $ru['1'];
  52.                          $rw['type'] < 1 && $rw['type'] = 1;
  53.                          break;
  54.                      case 'page':
  55.                          $rw['page'] = $ru['1'];
  56.                          $rw['type'] < 2 && $rw['type'] = 2;
  57.                          break;
  58.                      case 'fpage':
  59.                          $rw['fpage'] = $ru['1'];
  60.                          $rw['type'] < 3 && $rw['type'] = 3;
  61.                          break;
  62.                      default:
  63.                          $rw['type'] = 4;
  64.                          $urlfail = 1;
  65.                          break;
  66.                          }
  67.                      }
  68.                  }
  69.              switch($rw['type']){
  70.              case '1':
  71.                  $url = $rw['tid'] . ".html";
  72.                  break;
  73.              case '2':
  74.                  $url = $rw['tid'] . "_" . $rw['page'] . ".html";
  75.                  break;
  76.              case '3':
  77.                  $url = $rw['tid'] . "_" . $rw['page'] . "_" . $rw['fpage'] . ".html";
  78.                  break;
  79.                  }
  80.              }
  81.          if($urlfail){
  82.              $url = str_replace(
  83.                 array('.php?', '=', '&', $add),
  84.                  array($db_dir, '-', '-', ''),
  85.                  $url
  86.                 ) . $db_ext . $add;
  87.              }
  88.          }elseif(strpos($url, 'hack.php?') !== false){
  89.              unset($rw);
  90.              $rarr = explode('&', substr(str_replace($add, '', $url), 9));
  91.              foreach($rarr as $key => $value){
  92.                  $ru = explode('=', $value, 2);
  93.                  if($ru['1']){
  94.                      switch($ru['0']){
  95.                      case 'H_name':
  96.                          $rw['H_name_value'] = $ru['1'];
  97.                          if(in_array($rw['H_name_value'],array('fenlei','mm'))){
  98.                              $rw['type'] = 1;
  99.                          }
  100.                          break;
  101.                      }
  102.                  }
  103.                  switch($rw['type']){
  104.                  case '1':
  105.                      $url = $rw['H_name_value'] . "/";
  106.                      break;
  107.              //case '2':
  108.              //    $url = $rw['tid'] . "_" . $rw['page'] . ".html";
  109.              //    break;
  110.              //case '3':
  111.              //    $url = $rw['tid'] . "_" . $rw['page'] . "_" . $rw['fpage'] . ".html";
  112.              //    break;
  113.                  }
  114.              }
  115.          }
  116.      return "$url";
  117. }

[url=http://www.phpwind.com]phpwind[/url]
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
提到某人:
选择好友
上一个 下一个