freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

讓javascript跑得更快-資料下載頁(yè)

2025-08-18 17:00本頁(yè)面
  

【正文】 ?php function smarty_version($args){ if ($GLOBALS[‘config‘][‘is_dev_site‘]){ $stat = stat($GLOBALS[‘config‘][‘site_root‘].$args[‘src‘])。 $version = $stat[‘mtime‘]。 }else{ $version = $GLOBALS[‘config‘][‘resource_versions‘][$args[‘src‘]]。 } echo preg_replace(‘!.([az]+?)$!‘, .v$version.$1, $args[‘src‘])。 } 就這樣,不需要改文件名,也不需要記住改了哪些文件——當(dāng)文件有新版本發(fā)布時(shí)它的url就會(huì)自動(dòng)更新——有意思吧?我們就快搞定了。只欠東風(fēng)之前談到為靜態(tài)文件發(fā)送超長(zhǎng)周期(verylongperiod)的緩存header時(shí)曾說(shuō)過(guò),如果不用php輸出,就不能輕易的發(fā)送緩存header。很顯然,有兩個(gè)辦法可以解決:用php輸出,或者讓apache來(lái)做。php出馬,手到擒來(lái)。我們要做的僅僅是改變r(jià)ewrite規(guī)則,把靜態(tài)文件指向php腳本,用php在輸出文件內(nèi)容之前發(fā)送header。?php Apache:RewriteRule ^/(.*.)v[09.]+.(css|js|gif|png|jpg)$ /?path=$1$2 [L]PHP:header(Expires: .gmdate(D, d M Y H:i:s, time()+315360000). GMT)。header(CacheControl: maxage=315360000)。 忽略帶有“..”的路徑if (preg_match(‘!..!‘, $_GET[path])){ go_404()。 } 保證路徑開(kāi)頭是確定的目錄if (!preg_match(‘!^(javascript|css|images)!‘, $_GET[path])){ go_404()。 } 文件不存在?if (!file_exists($_GET[path])){ go_404()。 } 發(fā)出一個(gè)文件類(lèi)型header $ext = array_pop(explode(‘.‘, $_GET[path]))。 switch ($ext){ case ‘css‘: header(Contenttype: text/css)。 break。 case ‘js‘ : header(Contenttype: text/javascript)。 break。 case ‘gif‘: header(Contenttype: image/gif)。 break。 case ‘jpg‘: header(Contenttype: image/jpeg)。 break。 case ‘png‘: header(Contenttype: image/png)。 break。 default: header(Contenttype: text/plain)。 } 輸出文件內(nèi)容echo implode(‘‘, file($_GET[path]))。 function go_404(){ header(HTTP/ 404 File not found)。 exit。 } 這個(gè)方案有效,但并不出色。(因?yàn)椋└鷄pache相比,php需要更多內(nèi)存和執(zhí)行時(shí)間。另外,我們還得小心防止可能由path參數(shù)傳遞偽造值引起的exploits。為避免這些問(wèn)題,應(yīng)該用apache直接發(fā)送header。rewrite規(guī)則語(yǔ)句允許當(dāng)規(guī)則匹配時(shí)設(shè)置環(huán)境變量(environment variable),當(dāng)給定的環(huán)境變量設(shè)置后,Header命令就可以添加header。結(jié)合以下兩條語(yǔ)句,我們就把rewrite規(guī)則和header設(shè)置綁定在了一起:?php RewriteEngine on RewriteRule ^/(.*.)v[09.]+.(css|js|gif|png|jpg)$ /$1$2 [L,E=VERSIONED_FILE:1]Header add Expires Mon, 28 Jul 2014 23:30:00 GMT env=VERSIONED_FILE Header add CacheControl maxage=315360000 env=VERSIONED_FILE 考慮到apache的執(zhí)行順序,應(yīng)該把rewrite規(guī)則加在主配置文件()而不是目錄配置文件(.htaccess)中。否則在環(huán)境變量設(shè)置之前,header行會(huì)先執(zhí)行(就那沒(méi)意義了)。至于header行,則可以放在兩文件任何一個(gè)當(dāng)中,沒(méi)什么區(qū)別。眼觀六路(htmlor注:多謝tchaikov告知“skinning rabbits”的含義,但我不想翻的太正式,眼下的這個(gè)應(yīng)該不算太離譜吧。)通過(guò)結(jié)合使用以上技術(shù),我們可以建立一個(gè)靈活的開(kāi)發(fā)環(huán)境和一個(gè)快速又高性能的產(chǎn)品環(huán)境。當(dāng)然,這離終極目標(biāo)“速度”還有一段距離。有許多更深層的技術(shù)(比如分離伺服靜態(tài)內(nèi)容,用多域名提升并發(fā)量等)值得我們關(guān)注,包括與我們談到的方法(建立apache過(guò)濾器,修改資源url,加上版本信息)殊途同歸的其他路子。你可以留下評(píng)論,告訴我們那些你正在使用的卓有成效的技術(shù)和方法。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1