PhpWind教程:偽靜態(tài)之簡(jiǎn)單而強(qiáng)大設(shè)置教程(美觀瀏覽地址)修正圣誕版本_PhpWind教程
不可否認(rèn),Rewrite 受到很多站長(zhǎng)的喜歡,也受幾個(gè)大的搜索引擎所親睞,在7版本升級(jí)之際把這個(gè)傳說(shuō)中的神秘方法分享給大家,先看下案例 ,如dedecms,huodao等論壇的偽靜態(tài),下面是ST的
板塊訪問(wèn)地址:http://www.stwind.org/_22
帖子訪問(wèn)地址:http://www.stwind.org/r5764.html (完全可以做到/5764.html,按個(gè)人喜好!)
說(shuō)明:由于win和unix的差異,之前版本在win機(jī)器IIS下兼容不好,比如導(dǎo)致頭像下載問(wèn)題,感謝藍(lán)冰寶寶反饋問(wèn)題。
一下版本以及文件是修正過(guò)的圣誕版本,可以兼容IIS/apache/.htaccess,如果不成功可以回帖說(shuō)明!
下面開始教程分享,使用的前提條件是 支持Rewrite 可以在IIS/apache/nginx 以及虛擬主機(jī)的上的 .htaccess。
第一步:
添加規(guī)則
IIS/apache/.htaccess
這說(shuō)明下,服務(wù)器端的-》 IIS的偽靜態(tài)配置文件為httpd.ini ,apache的的配置文件為 httpd.conf, 虛擬主機(jī)支持為靜態(tài)的文件為 .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)/f_(.*)_(.*)$ $1/thread.php?fid=$2&page=$3
RewriteRule ^(.*)/f_(.*)$ $1/thread.php?fid=$2&page=$3
RewriteRule ^(.*)/(.*)_(.*)_(.*).html$ $1/read.php?tid=$2&page=$3&fpage=$4
RewriteRule ^(.*)/(.*)_(.*).html$ $1/read.php?tid=$2&page=$3&fpage=$4
RewriteRule ^(.*)/(.*).html$ $1/read.php?tid=$2
</IfModule>
nginx
rewrite ^(.*)/f_(.*)_(.*)$ $1/thread.php?fid=$2&page=$3 last;
rewrite ^(.*)/f_(.*)$ $1/thread.php?fid=$2 last;
rewrite ^(.*)/(.*)_(.*)_(.*).html$ $1/read.php?tid=$2&page=$3&fpage=$4 last;
rewrite ^(.*)/(.*)_(.*).html$ $1/read.php?tid=$2&page=$3 last;
rewrite ^(.*)/(.*).html$ $1/read.php?tid=$2 last;
rewrite ^(.*)-htm-(.*)$ $1.php?$2 last;
第二步:
打開global.php 找到
function Htm_cv($url,$tag){
global $db_dir,$db_ext;
if (!preg_match('/^(http|ftp|telnet|mms|rtsp)|admin.php|rss.php/i',$url)) {
$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
$tharr = explode('&', substr(str_replace($add, '', $url), 11));
foreach($tharr 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 = "f_" . $rw['fid'] ;
break;
case '2':
$url = "f_" . $rw['fid'] . "_" . $rw['page'] ;
break;
}
}elseif(strpos($url, 'read.php?') !== false){
unset($rw);
$rarr = explode('&', substr(str_replace($add, '', $url), 9));
foreach($rarr 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 = $rw['tid'] . ".html";
break;
case '2':
$url = $rw['tid'] . "_" . $rw['page'] . ".html";
break;
case '3':
$url = $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\"";
}
OK,修改完成,開始享受你的偽靜態(tài)吧~!~
- PhpWind教程:PHPWind forum V7.5 SP1 使用與修復(fù)說(shuō)明
- PhpWind教程:PHPWind Forum V7.5 升級(jí)教程
- PHPWind7.3 升級(jí)7.3.2 圖文教程
- PhpWind教程:sitemap生成問(wèn)題
- PhpWind教程:熱榜排行 for 75
- PHPwind 6.3.2升級(jí)至PHPwind 7.3.2 圖文教程
- PHPWind 7.0 升級(jí)至PHPwind 7.3.2 圖文教程
- PHPWind 7.0 升級(jí)到PHPwind v7.3 圖文教程
- PHPWind 6.3.2升級(jí)到 PHPwind v7.3 圖文教程
- PHPWind6.3.2升級(jí)PHPWind7.0說(shuō)明教程
- PhpWind教程:PHPWind6.3(6.3rc、6.3) to PHPWind6.3.2升級(jí)教程
- PhpWind教程:PHPWind6.x(6.0rc、6.0) to PHPWind6.3.2升級(jí)教程
PhpWind教程教程Rss訂閱Cms教程搜索
PhpWind教程推薦
- PhpWind教程:Windows環(huán)境下PHP5開發(fā)配置指南
- PhpWind教程:我的論壇程序文件images 為何會(huì)自動(dòng)變成數(shù)字文件?
- PhpWind教程:PHPwind 團(tuán)隊(duì)管理插件應(yīng)用操作指南
- PhpWind教程:郵箱設(shè)置_for all
- PhpWind教程:論壇遠(yuǎn)程FTP設(shè)置
- PhpWind教程:Sphinx全文索引安裝教程
- PhpWind教程:PHPWind模板體系說(shuō)明
- PhpWind教程:首頁(yè)熱榜或者10格等圖片出不來(lái)
- PhpWind教程:PHPWind Forum V7.5用戶手冊(cè)
- PhpWind教程:檢測(cè)系統(tǒng)是否支持GD庫(kù)
- 相關(guān)鏈接:
復(fù)制本頁(yè)鏈接| 搜索PhpWind教程:偽靜態(tài)之簡(jiǎn)單而強(qiáng)大設(shè)置教程(美觀瀏覽地址)修正圣誕版本
- 教程說(shuō)明:
PhpWind教程-PhpWind教程:偽靜態(tài)之簡(jiǎn)單而強(qiáng)大設(shè)置教程(美觀瀏覽地址)修正圣誕版本
。