PHPwind若何在我公司假造主機利用偽靜態

宣布日期 2012-03-17 16:46:27

我公司假造主機設置裝備擺設為IIS+ISAPI URL_reWrite3
在Phpwind 7.5體系中開啟偽靜態并停止以下操縱
 
起首您須要成立一個FTP中的www目次里新建一個名為.htaccess的文件,并拔出以下代碼后保管:
RewriteEngine On
RewriteRule ^commtopics-(.*)-(.*) thread.php?fid=$1&page=$2
RewriteRule ^commtopics-(.*) thread.php?fid=$1&page=$2
RewriteRule ^article-(.*)-(.*)-(.*).html read.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 ^(.*)-htm-(.*)$ $1.php?$2
RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ $1/simple/index.php?$2
 
 而后將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[type] = 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\"";