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