帮助中心
|

PHPwind如何在我公司虚拟主机使用伪静态

方法/步骤

  • 我公司虚拟主机配置为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"";