科普知識(shí):什么是偽靜態(tài)(URL Rewrite) 大家不要謙煩哦。偽靜態(tài)是相對(duì)真實(shí)靜態(tài)來(lái)講的。通常我們?yōu)榱烁玫木徑夥?wù)器壓力,和增強(qiáng)搜索引擎的友好面,都將文章內(nèi)容生成靜態(tài)頁(yè)面。但是有些朋友為了實(shí)時(shí)的顯示一些信息,或者還想運(yùn)用動(dòng)態(tài)腳本解決一些問(wèn)題,不能用靜態(tài)的方式來(lái)展示網(wǎng)站內(nèi)容。但是這就損失了對(duì)搜索引擎的友好面。頁(yè)面的URL地址也是對(duì)搜索引擎直接體現(xiàn)友好的信息,既要考慮對(duì)搜索引擎友好,又要實(shí)時(shí)動(dòng)態(tài)顯示信息?怎么樣在兩者之間找個(gè)中間方法呢,這就產(chǎn)生了偽靜態(tài)技術(shù)。它是展示出來(lái)的是以.html、.htm一類(lèi)的靜態(tài)頁(yè)面為后綴形式的地址,但其實(shí)是用動(dòng)態(tài)腳本技術(shù)來(lái)處理生成輸出頁(yè)面的,它的本質(zhì)就是動(dòng)態(tài)的。 主流Web Server都支持URL Rewrite這種偽靜態(tài)技術(shù),如:Apache、Nginx、IIS等。 今天要講的核心內(nèi)容是將傳統(tǒng)的一串式URL Rewrite地址換成更具人性化的目錄形式。雖然這種應(yīng)用技術(shù)是隨著URL Rewrite這種技術(shù)誕生而誕生,但是要想把這種舊的URL格式按照自己的想法換一換,還不是說(shuō)那么容易,首先要了解原系統(tǒng)的輸出地址結(jié)構(gòu)才能構(gòu)思新的以目錄形式顯示的地址。 本文就以(http://www.《920影院》為實(shí)驗(yàn)講解對(duì)象),把原來(lái)內(nèi)容頁(yè)http://www./vod-read-id-55831.html修改成目標(biāo)格式:http://www./vod/detail/55831.html,列表頁(yè)由原來(lái)的http://www./vod-show-id-16-p-1.html修改為目標(biāo)格式:http://www./vod/show/list-16-p-1.html,現(xiàn)在對(duì)比下修改前后的地址格式變化,修改前的地址全部直屬根目錄,修改后的地址有了二級(jí)和三級(jí)目錄,這樣有利于搜索引擎友好。 Apache與Nginx的Rewrite規(guī)則有些不一樣,主要?dú)w結(jié)如下幾點(diǎn): 1、Apache可以通過(guò).htaccess文件實(shí)現(xiàn)重寫(xiě)規(guī)則,但要開(kāi)啟幾個(gè)參數(shù):RewriteEngine on和RewriteBase / ,因?yàn)槲覀兯幸?guī)則都基于根目錄進(jìn)行。而Nginx則沒(méi)有以上參數(shù)設(shè)置。 2、Apache的Rewrite指令是RewriteRule,路徑中的問(wèn)號(hào)(?)要用反斜杠轉(zhuǎn)義;Nginx的Rewrite指令是rewrite,由于Night沒(méi)有指定起始目錄,所以要在路徑前加斜杠,明確以根開(kāi)始,路徑中的(?)不用轉(zhuǎn)義,可以直接使用。 3、Apache還要把AllowOverride None 改成 AllowOverride All,否則Rewrite無(wú)效,Nginx則沒(méi)有這樣的設(shè)置。 關(guān)于Apache與Nginx的偽靜態(tài)配置還有好多東西,本文后繼補(bǔ)充。另外本文中的詳細(xì)配置便不在此公開(kāi),你可以登錄http://www.留言探討。 |
|