亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > Phpwind > 正文

phpwind的rewrite重寫原理

2024-08-30 19:07:42
字體:
來源:轉載
供稿:網友

就是一般我們用echo print 輸出字符到頁面上的時候,意味著只要執行到了echo,php就會立即輸出到客戶端,但php有幾個和緩沖相關的函數,他可以控制你輸出的行為,就是不立馬輸出,而是等你調用了ob_flush/flush函數,才輸出。而pw就是利用了這個原理,等頁面所有的內容都生成完畢了,最后調footer()時,ob_get_contents(),獲取緩沖的內容,通過正則批量替換url,構造rewrite的url格式。

關于ob,其實有兩種主要的使用場景,一個是實現頁面壓縮輸出 - ob_gzhandler;再一個是在ajax/自定義api返回數據時,程序執行過程中,你不知道前面的程序是否有些意外的輸出字符如空格、空行等,他們在數據返回時會造成很多意外情況,所以可以在你輸出數據前,清除前面的緩沖內容,重新開始輸出。

官方默認的重寫規則(注:重寫是web服務器 - 如apache、nginx或應用容器tomcat的功能,不是程序語言自己的功能),如pw的一條重寫規則 - apache:


RewriteRule ^(.*)-htm-(.*)$ $1.php?$2

首先,我們分析他的構成。當我們打開 global.php 文件,找到 :



<?php
$db_obstart == 1 ? ob_start('ob_gzhandler') : ob_start();
?>

我們會發現,這個全局文件打開了一個ob_start,并且進行一些判斷。這個是pw系統進行rewrite的一個關鍵。

然后我們再找到footer()函數:



<?php
function footer(){
global $db,$db_obstart,$db_footertime,$db_htmifopen,$P_S_T,$mtablewidth,$db_ceoconnect,$wind_version,$imgpath,$stylepath,$footer_ad,$db_union,$dbinfo,$timestamp;
Update_ol();
if($db){
$qn=$db->query_num;
}
$ft_gzip=($db_obstart==1 ? "Gzip enabled" : "Gzip disabled").$db_union[3];
if ($db_footertime == 1){
$t_array = explode(' ',microtime());
$totaltime = number_format(($t_array[0]+$t_array[1]-$P_S_T),6);
$wind_spend = "Total $totaltime(s) query $qn,";
}
$ft_time=get_date($timestamp,'m-d H:i');
include PrintEot('footer');
$output = str_replace(array('<!--<!---->','<!---->'),array('',''),ob_get_contents());
if($db_htmifopen){
$output = preg_replace(
"/<a(s*[^>]+s*)href=(["|']?)([^"'>s]+.php?[^"'>s]+)(["|']?)/ies",
"Htm_cv('3','<a1href="')",
$output
);
}
ob_end_clean();
$db_obstart == 1 ? ob_start('ob_gzhandler') : ob_start();
echo $output;
flush;
exit;
}
?>

common.php中:



function parseHtmlUrlRewrite($html, $flag) {
return $flag ? preg_replace("http://<a(/s*[^/>]+/s*)href/=([/"|/']?)((index|cate|thread|read|faq|rss)/.php/?[^/"/'>/s]+/s?)[/"|/']?/ies", "Htm_cv('//3','<a//1href=/"')", $html) : $html;
}</p><p>/**
* url處理
*
* @param string $url
* @param string $tag
* @return string
*/
function Htm_cv($url, $tag) {
return stripslashes($tag) . urlRewrite($url) . '"';
}</p><p>function urlRewrite($url) {
global $db_htmifopen, $db_dir, $db_ext;
if (!$db_htmifopen) return $url;
$tmppos = strpos($url, '#');
$add = $tmppos !== false ? substr($url, $tmppos) : '';
$turl = str_replace(array('.php?', '=', '&amp;', '&', $add), array($db_dir, '-', '-', '-', ''), $url);//pw的重寫規則在這里進行字符的替換
$turl != $url && $turl .= $db_ext;
return $turl . $add;
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品综合久久久| 81精品国产乱码久久久久久| 91av在线国产| 亚洲国产精品视频在线观看| 38少妇精品导航| 亚洲成人黄色在线观看| 国产成人精品久久二区二区| 午夜精品久久久久久久久久久久| 日韩美女免费线视频| 亚洲一区二区中文字幕| 亚洲高清福利视频| 色综合91久久精品中文字幕| 国产精品成av人在线视午夜片| 亚洲国产精品女人久久久| 永久免费看mv网站入口亚洲| 日本精品久久中文字幕佐佐木| 亚洲精品v欧美精品v日韩精品| 日日狠狠久久偷偷四色综合免费| 91免费国产网站| 欧美一级片久久久久久久| 欧美综合激情网| 日韩av成人在线| 日韩一区视频在线| 精品日韩视频在线观看| 亚洲人午夜色婷婷| 国产日韩亚洲欧美| 久久中文久久字幕| 大伊人狠狠躁夜夜躁av一区| 夜色77av精品影院| 91精品视频在线播放| 欧美高清无遮挡| 亚洲japanese制服美女| 91精品国产色综合久久不卡98| 久久精品91久久久久久再现| 亚洲欧美三级在线| 91免费在线视频网站| 欧美高清一级大片| 欧美亚洲一级片| 国产日韩欧美电影在线观看| 九九热精品视频在线播放| 成人黄色av免费在线观看| 亚洲a一级视频| 成人信息集中地欧美| 欧美成人一区二区三区电影| 精品女同一区二区三区在线播放| 国产精品久久久久久av下载红粉| 亚洲国产天堂久久综合| 国产精品xxx视频| 欧美性资源免费| 琪琪第一精品导航| 欧美激情精品久久久久久免费印度| 日韩欧美有码在线| 亚洲欧美国产精品| 亚洲国产美女精品久久久久∴| 色偷偷偷亚洲综合网另类| 91精品久久久久久久久久| 久久精品视频免费播放| 欧美体内谢she精2性欧美| 欧美精品videosex性欧美| 国产精品aaa| 久久影院资源站| 国产精品免费观看在线| 日韩在线视频线视频免费网站| 久久精品国产一区二区电影| 日韩免费观看av| 国产精品96久久久久久| 日韩成人激情在线| 一区二区av在线| 欧美午夜宅男影院在线观看| 色综合五月天导航| 亚洲视频视频在线| 日韩美女在线看| 日韩av最新在线观看| 亚洲新声在线观看| 亚洲欧美日韩第一区| 国产一区二区香蕉| 成人黄色在线观看| 欧美日韩国产中文精品字幕自在自线| 在线国产精品播放| 久久在线免费观看视频| 456国产精品| 欧美日韩国产一区二区| 亚洲大胆人体在线| 91在线播放国产| 亚洲精品大尺度| 69影院欧美专区视频| 欧美色播在线播放| 日韩第一页在线| 91精品久久久久久| 国产成人97精品免费看片| 91精品在线一区| 视频在线一区二区| 国产欧美日韩高清| 欧美三级欧美成人高清www| 成人高h视频在线| 日韩中文字幕网址| 国产精品jvid在线观看蜜臀| 欧美性猛交xxxx富婆| 国产精品美女在线| 高清欧美电影在线| 欧美激情一区二区三区高清视频| 亲子乱一区二区三区电影| 国产精品日韩在线| 亚洲精品免费在线视频| 热99精品里视频精品| 国产成人激情视频| 色偷偷888欧美精品久久久| 91精品国产91久久久久久不卡| 国产激情久久久| 久久人人97超碰精品888| 欧美成人免费在线观看| 91网站免费看| 91av在线视频观看| 久久五月天色综合| 视频在线观看一区二区| 欧美激情手机在线视频| 国产一区二区黑人欧美xxxx| 国产精品久久久久久久电影| 久久精品国产视频| 国产精品人人做人人爽| 久久亚洲综合国产精品99麻豆精品福利| 欧美午夜精品久久久久久久| 最好看的2019年中文视频| 亚洲美女av在线播放| 俺也去精品视频在线观看| 久久久999精品免费| 日韩在线观看免费全集电视剧网站| 成人av在线网址| 精品中文字幕在线观看| 欧美老女人性生活| 国产福利精品在线| 欧美日韩成人在线播放| 国产欧美日韩中文| 成人免费网站在线看| 岛国视频午夜一区免费在线观看| 欧美大片欧美激情性色a∨久久| 国产精品久久久久免费a∨大胸| 91精品国产高清自在线看超| 亚洲欧美制服综合另类| 精品毛片三在线观看| 欧美在线视频一二三| 欧美精品18videos性欧美| 一级做a爰片久久毛片美女图片| 国产精品女人久久久久久| 国产精品v日韩精品| 全亚洲最色的网站在线观看| 国产一区深夜福利| 亚洲人成亚洲人成在线观看| 欧美激情亚洲精品| 国产亚洲精品久久久久久777| 国产做受高潮69| 日韩免费av在线| 精品国产精品三级精品av网址| 欧美高清视频在线播放| 欧美精品www在线观看| 欧美在线观看视频| 日韩国产欧美精品一区二区三区| 91精品国产综合久久香蕉的用户体验| 国产精品久久久久久久久久久不卡| 日韩欧美成人精品| www日韩欧美| 日韩男女性生活视频| 久久电影一区二区| 在线午夜精品自拍|