蓝雨 发表于 2010-2-3 14:55:30

最牛的静态 PW7.3(X)论坛静态化教程

主题列表一律用commtopics-,,主题内容一律用article-分割

下面说下虚拟空间的设置,有的空间可能不支持

虚拟主机的上的 .htaccess
添加规则<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^thread-htm-tid-(\d+)-(.*).htmlthread.php?fid=$1
RewriteRule ^read-htm-tid-(\d+)-(.*).htmlread.php?tid=$1
RewriteRule ^commtopics-(.*)-(.*)thread.php?fid=$1&page=$2
RewriteRule ^commtopics-(.*)       thread.php?fid=$1&page=$2
RewriteRule ^article-(.*)-(.*)-(.*).htmlread.php?tid=$1&page=$2&fpage=$3
RewriteRule ^article-(.*)-(.*).html       read.php?tid=$1&page=$2&fpage=$3
RewriteRule ^article-(.*).html            read.php?tid=$1
RewriteRule ^read-htm-tid-(\d+)-(.*).htmlread.php\?tid=$1
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
RewriteRule ^(.*)/simple/(+\.html)$ $1/simple/index.php?$2
</IfModule>
二:独立服务器设置的方法

httpd.ini
添加<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)/thread-htm-tid-(\d+)-(.*).html$1/thread.php?fid=$2
RewriteRule ^(.*)/read-htm-tid-(\d+)-(.*).html$1/read.php?tid=$2
RewriteRule ^(.*)/commtopics-(.*)-(.*)$ $1/thread.php?fid=$2&page=$3
RewriteRule ^(.*)/commtopics-(.*)$      $1/thread.php?fid=$2&page=$3
RewriteRule ^(.*)/article-(.*)-(.*)-(.*).html$$1/read.php?tid=$2&page=$3&fpage=$4
RewriteRule ^(.*)/article-(.*)-(.*).html$       $1/read.php?tid=$2&page=$3&fpage=$4
RewriteRule ^(.*)/article-(.*).html$         $1/read.php?tid=$2
RewriteRule ^(.*)read-htm-tid-(\d+)-(.*).html$1/read.php\?tid=$2
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
RewriteRule ^(.*)/simple/(+\.html)$ $1/simple/index.php?$2
</IfModule>
打开global.php找到 523行左右function Htm_cv($url,$tag){
    global $db_dir,$db_ext;
    $tmppos = strpos($url,'#');
    $add = $tmppos!==false ? substr($url,$tmppos) : '';
    $url = str_replace(
      array('.php?','=','&','&',$add),
      array($db_dir,'-','-','-',''),
      $url
    ).$db_ext.$add;
    return stripslashes($tag)."$url\"";
}
修改成function Htm_cv($url, $tag){//modify By Josh
global $db_dir, $db_ext;
   if (!preg_match('/^(http|ftp|telnet|mms|rtsp)|admin.php|rss.php/i', $url)){
       $add = strpos($url, '#') !== false ? substr($url, strpos($url, '#')) : '';
      if(strpos($url, 'thread.php?') !== false){
         unset($rw); //$rw->type$ru->array
         $thread_arr = explode('&', substr(str_replace($add, '', $url), 11));
          foreach($thread_arr as $key => $value){
             $ru = explode('=', $value, 2);
            if($ru['1']){
               switch($ru['0']){
                case 'fid':
                  $rw['fid'] = $ru['1'];
                  $rw['type'] < 1 && $rw['type'] = 1;
                break;
                case 'page':
                  $rw['page'] = $ru['1'];
                  $rw['type'] < 2 && $rw['type'] = 2;
                break;
                default:
                  $rw['type'] = 4;
                  $urlfail = 1;
                break;
                }}}
         switch($rw['type']){
         case '1':
               $url = "commtopics-" . $rw['fid'] ; break;               
         case '2':
               $url = "commtopics-" . $rw['fid'] . "-" . $rw['page'] ;   break;
             }}elseif(strpos($url, 'read.php?') !== false){
                unset($rw);
            $read_arr = explode('&', substr(str_replace($add, '', $url), 9));
                foreach($read_arr as $key => $value){
                $ru = explode('=', $value, 2);
                if($ru['1']){
                  switch($ru['0']){
                        case 'tid':
                            $rw['tid'] = $ru['1'];
                            $rw['type'] < 1 && $rw['type'] = 1;
                            break;
                        case 'page':
                            $rw['page'] = $ru['1'];
                            $rw['type'] < 2 && $rw = 2;
                            break;
                        case 'fpage':
                            $rw['fpage'] = $ru['1'];
                            $rw['type'] < 3 && $rw['type'] = 3;
                            break;
                        default:
                            $rw['type'] = 4;
                            $urlfail = 1;
                            break;
                        }}}
          switch($rw['type']){
             case '1':
               $url = "article-".$rw['tid'] . ".html";
               break;
             case '2':
               $url = "article-".$rw['tid'] . "-" . $rw['page'] . ".html";
               break;
             case '3':
               $url = "article-". $rw['tid'] . "-" . $rw['page'] . "-" . $rw['fpage'] . ".html";
               break;
               }
             }
         if($urlfail){
             $url = str_replace(
               array('.php?', '=', '&', $add),
               array($db_dir, '-', '-', ''),
               $url
                ) . $db_ext . $add;
             }
         }
   return stripslashes($tag) . "$url\"";
    }
页: [1]
查看完整版本: 最牛的静态 PW7.3(X)论坛静态化教程