PHPwind 伪静态简化URL长度为1.html,f2等的方法介绍
<p>1。根目录下.htaccess(规则适用iis,其他nginx、apache还要稍做修改)<br />RewriteEngine on<br />RewriteRule f(\d+)_(.*)_(.*)$ /thread.php?fid=$1&page=$2&type=$3 <br />RewriteRule f(\d+)_(.*)$ /thread.php?fid=$1&page=$2 <br />RewriteRule f(\d+)$ /thread.php?fid=$1 <br />RewriteRule (\d+)_(.*)_(.*)_(.*).html$ /read.php?tid=$1&page=$2&fpage=$3&uid=$4 <br />RewriteRule (\d+)_(.*)_(.*).html$ /read.php?tid=$1&page=$2&fpage=$3 <br />RewriteRule (\d+)_(.*).html$ /read.php?tid=$1&page=$2 <br />RewriteRule (\d+).html /read.php?tid=$1 <br />RewriteRule ^(.*)-htm-(.*)$ $1.php?$2 <br />RewriteRule /simple/(+)\.html$ /simple/index\.php\?$1 <br />2、在require/common.php<br />找到<br />function urlRewrite($url) {<br />换成:<br />function urlRewrite($url) {<br />global $db_htmifopen, $db_dir, $db_ext;<br />if (!$db_htmifopen) return $url;<br /> if (!preg_match('/^(http|ftp|telnet|mms|rtsp)|admin.php|rss.php/i', $url)){<br /> $add = strpos($url, '#') !== false ? substr($url, strpos($url, '#')) : '';<br /> if(strpos($url, 'thread.php?') !== false){<br /> unset($rw);<br /> $tharr = explode('&', substr(str_replace($add, '', $url), 11));<br /> foreach($tharr as $key => $value){<br /> $ru = explode('=', $value, 3);<br /> if($ru['1']){<br /> switch($ru['0']){<br /> case 'fid':<br /> $rw['fid'] = $ru['1'];<br /> $rw['para'] < 1 && $rw['para'] = 1;<br /> break;<br /> case 'page':<br /> $rw['page'] = $ru['1'];<br /> $rw['para'] < 2 && $rw['para'] = 2;<br /> break;<br /> case 'type':<br /> $rw['type'] = $ru['1'];<br /> $rw['para'] < 4 && $rw['para'] = 4;<br /> break;<br /> default:<br /> $rw['para'] = 8;<br /> $urlfail = 1;<br /> break;<br /> }<br /> }<br /> }<br /> switch($rw['para']){<br /> case '1':<br /> $url = "f" . $rw['fid'] ;<br /> break;<br /> case '2':<br /> $url = "f" . $rw['fid'] . "_" . $rw['page'] ;<br /> break;<br /> case '4':<br /> $url = "f" . $rw['fid'] . "_" . $rw['page'] . "_" . $rw['type'] ;<br /> break;<br /> }<br /> }elseif(strpos($url, 'read.php?') !== false){<br /> unset($rw);<br /> $rarr = explode('&', substr(str_replace($add, '', $url), 9));<br /> foreach($rarr as $key => $value){<br /> $ru = explode('=', $value, 2);<br /> if($ru['1']){<br /> switch($ru['0']){<br /> case 'tid':<br /> $rw['tid'] = $ru['1'];<br /> $rw['type'] < 1 && $rw['type'] = 1;<br /> break;<br /> case 'page':<br /> $rw['page'] = $ru['1'];<br /> $rw['type'] < 2 && $rw['type'] = 2;<br /> break;<br /> case 'fpage':<br /> $rw['fpage'] = $ru['1'];<br /> $rw['type'] < 3 && $rw['type'] = 3;<br /> break;<br /> default:<br /> $rw['type'] = 4;<br /> $urlfail = 1;<br /> break;<br /> }<br /> }<br /> }<br /> switch($rw['type']){<br /> case '1':<br /> $url = $rw['tid'] . ".html";<br /> break;<br /> case '2':<br /> $url = $rw['tid'] . "_" . $rw['page'] . ".html";<br /> break;<br /> case '3':<br /> $url = $rw['tid'] . "_" . $rw['page'] . "_" . $rw['fpage'] . ".html";<br /> break;<br /> }<br /> }<br /> if($urlfail){<br /> $url = str_replace(<br /> array('.php?', '=', '&', $add),<br /> array($db_dir, '-', '-', ''),<br /> $url<br /> ) . $db_ext . $add;<br /> }<br /> }elseif(strpos($url, 'hack.php?') !== false){<br /> unset($rw);<br /> $rarr = explode('&', substr(str_replace($add, '', $url), 9));<br /> foreach($rarr as $key => $value){<br /> $ru = explode('=', $value, 2);<br /> if($ru['1']){<br /> switch($ru['0']){<br /> case 'H_name':<br /> $rw['H_name_value'] = $ru['1'];<br /> if(in_array($rw['H_name_value'],array('fenlei','mm'))){<br /> $rw['type'] = 1;<br /> }<br /> break;<br /> }<br /> }<br /> switch($rw['type']){<br /> case '1':<br /> $url = $rw['H_name_value'] . "/";<br /> break;<br /> //case '2':<br /> // $url = $rw['tid'] . "_" . $rw['page'] . ".html";<br /> // break;<br /> //case '3':<br /> // $url = $rw['tid'] . "_" . $rw['page'] . "_" . $rw['fpage'] . ".html";<br /> // break;<br /> }<br /> }<br /> }<br /> return "$url";<br />}<br /></p>
頁:
[1]