日韩av免费一二三区-2021精品久久久久精品k8-亚洲红杏AV无码专区首页-99精品久久久久久水蜜桃

咨詢電話:
15628812133
11
2017/06

Apache rewrite詳解

發(fā)布時(shí)間:2017-06-11 21:26:25
發(fā)布者:pengyifeng
瀏覽量:
0

         Apache的rewrite模塊,提供了一個(gè)基于規(guī)則的重寫(rewrite,也許譯為重構(gòu)更為合適)引擎,來實(shí)時(shí)重寫發(fā)送到Apache的請求URL。因功能極其強(qiáng)大,被稱為URL重寫的“瑞士軍刀”。

         Apache的rewrite模塊,提供了一個(gè)基于規(guī)則的重寫(rewrite,也許譯為重構(gòu)更為合適)引擎,來實(shí)時(shí)重寫發(fā)送到Apache的請求URL。因功能極其強(qiáng)大,被稱為URL重寫的“瑞士軍刀”。Apache的rewrite模塊,提供了一個(gè)基于規(guī)則的重寫(rewrite,也許譯為重構(gòu)更為合適)引擎,來實(shí)時(shí)重寫發(fā)送到Apache的請求URL。因功能極其強(qiáng)大,被稱為URL重寫的“瑞士軍刀”。Apache的rewrite模塊,提供了一個(gè)基于規(guī)則的重寫(rewrite,也許譯為重構(gòu)更為合適)引擎,來實(shí)時(shí)重寫發(fā)送到Apache的請求URL。因功能極其強(qiáng)大,被稱為URL重寫的“瑞士軍刀”。Apache的rewrite模塊,提供了一個(gè)基于規(guī)則的重寫(rewrite,也許譯為重構(gòu)更為合適)引擎,來實(shí)時(shí)重寫發(fā)送到Apache的請求URL。因功能極其強(qiáng)大,被稱為URL重寫的“瑞士軍刀”。

         Apache的rewrite模塊,提供了一個(gè)基于規(guī)則的重寫(rewrite,也許譯為重構(gòu)更為合適)引擎,來實(shí)時(shí)重寫發(fā)送到Apache的請求URL。

         Rewrite主要的功能就是實(shí)現(xiàn)URL的重寫,它的正則表達(dá)式是基于Perl語言??苫诜?wù)器級(jí)的(httpd.conf)和目錄級(jí)的(.htaccess)兩種方式。如果要想用到rewrite模塊,必須先安裝或加載rewrite模塊。方法有兩種一種是編譯apache的時(shí)候就直接安裝rewrite模塊,別一種是編譯apache時(shí)以DSO模式安裝apache,然后再利用源碼和apxs來安裝rewrite模塊。

         基于服務(wù)器級(jí)的(httpd.conf)有兩種方法,一種是在httpd.conf的全局下直接利用RewriteEngine on來打開rewrite功能;另一種是在局部里利用RewriteEngine on來打開rewrite功能,下面將會(huì)舉例說明,需要注意的是,必須在每個(gè)virtualhost里用RewriteEngine on來打開rewrite功能。否則virtualhost里沒有RewriteEngine on它里面的規(guī)則也不會(huì)生效。

         基于目錄級(jí)的(.htaccess),要注意一點(diǎn)那就是必須打開此目錄的FollowSymLinks屬性且在.htaccess里要聲明RewriteEngine on。

IIS中使用Rewrite

         我們通過在IIS中安裝一個(gè)名為 ISAPI_Rewrite 的ISAPI篩選器來實(shí)現(xiàn) Rewrite 功能,您需要做的事情只有一個(gè),就是修改配置文件 httpd.ini ,這里舉一個(gè)簡單的例子來說明它的用法。

         假設(shè)您要實(shí)現(xiàn)這樣的 Rewrite 功能:您希望當(dāng)用戶訪問 /about.htm 的時(shí)候?qū)嶋H訪問的是 /index.html (您的空間里可以并不需要存在 about.htm)。

那么,設(shè)置方法是:

1、創(chuàng)建一個(gè)文本文件,內(nèi)容為

   [ISAPI_Rewrite]

  RewriteRule /about\.htm /index.html

這里,RewriteRule 這一行即為規(guī)則行,這一行由三部分組成,三部分由空格隔開,第一部分即 RewriteRule 這幾個(gè)字,第二部分為用戶訪問的地址(使用正則表達(dá)式),第三部分為實(shí)際存在于服務(wù)器上的文件路徑。

2、將上述文件保存,命名為 httpd.ini 。

3、將這個(gè)文件上傳到您的網(wǎng)站根目錄中,對于我們的虛擬主機(jī),即上傳至 /web 文件夾中。

這時(shí),當(dāng)您訪問 about.htm 的時(shí)候,看到的就是 index.html 的內(nèi)容。

Rewrite 是一個(gè)功能強(qiáng)大的平臺(tái),要真正的使用它,您可能要花費(fèi)相當(dāng)長的時(shí)間來學(xué)習(xí)。如果您使用像 Discuz! 論壇等支持偽靜態(tài)的系統(tǒng),而僅僅是需要使用偽靜態(tài)功能,那么您可以不必學(xué)習(xí),直接復(fù)制論壇開發(fā)者提供的配置文件即可,但要注意配置文件必須命名為 httpd.ini ,并且這個(gè)文件必須放在網(wǎng)站的根下。

httpd.ini 修改或者上傳后一般會(huì)立即生效,如果長時(shí)間不能生效,請登錄主機(jī)控制面板將網(wǎng)站停止然后再啟動(dòng)。


返回列表