[精讚] [會員登入]
1603

[APACHE] 關於RewriteCond $1

RewriteCond $1的意義和解釋

分享此文連結 http://n.sfs.tw/11099

分享連結 [APACHE] 關於RewriteCond $1@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-24 15:32:28 最後編修
2017-05-17 09:10:17 By 張○○
 

在閱讀 codeIgniter 時,發現他們的rewrite 寫法[2],雖然知道作用,但不知道原理,直到看到[1]的說明才了解,筆記下來。

RewriteEngine on

RewriteBase /

RewriteCond $1 !^(index\.php|images|robots\.txt|$)

RewriteRule ^(.*)$ index.php/$1 [L,QSA]

[1]. 符合此regex,進行[2]
[2]. [1]中刮弧中內容,變成[2]的$1進行[3]的判斷是否符合
[3]. 判斷不符合,比對結束;判斷符合非 index.php或 image或rebots.txt 則進行[4]
[4]. 改寫 index.php/$1 L代表比對結束,QSA代表附上後面參數

終於懂了,再看 symfony (PHP framework) 的寫法

 RewriteCond %{REQUEST_FILENAME} !-f

 RewriteRule ^(.*)$ app.php [QSA,L]

和 Slim (PHP framework)中第一行只要檔案不存在,就改寫成 index.php

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^ index.php [QSA,L]

能幫助理解

參考資料

[1] RewriteCond $1 http://www.webmasterworld.com/apache/4330396.htm

[2] codeIgniter 說明 http://www.codeigniter.org.tw/user_guide/general/urls.html


原文 2013-09-02 01:22:36

END

你可能感興趣的文章

[HTTPS] Ubuntu +SSL +正式的CA 設定 利用正式的CA憑證,設定網站SSL,有別於過去使用的「未授權憑證」

[Apache] 自訂錯誤頁面及移掉歡迎頁 Apache 有一個歡迎頁,以正式網站來說,出現這頁有點不專業,該移除它..

[Centos7] 解決資安的幾個問題 因為資安的關係,接到了一些弱點掃描出現的問題,解決方法做個整理。

UTF-8的網頁但IE8一片空白 UTF8編碼的網頁在Firefox 正常顯示、但IE8 就是空白,IE8編碼設定是「自動偵測」可是自動偵測到的是 big5...

[Apache] 顯示或不顯示錯誤 php預設錯誤不顯示,有三種方法可以顯示或不顯示錯誤

強迫網頁預設編碼語系 大部分的瀏覽器如果編碼設成「自動偵測」時都能正確的分析。但世界並不會這麼平順完美,明明我這樣設定utf8他就是用big5丟出來...

[APACHE] Centos7,8設定 HSTS ( HTTP Strict Transport Security ) CENTOS7,CENTOS8 資安上需要設定的 HSTS的方法。

[APACHE] 關於RewriteCond $1 RewriteCond $1的意義和解釋

PHP 7.0 升級到 PHP7.3 因為套件的關係,想把PHP7.0升到7.3 結果又退回原版本

[Apache] 利用.htaccess防盜圖 利用.htaccess防盜圖,同時也介紹一個產生防盜圖.htaccess檔的網站

我有話要說


限制:留言最高字數1000字,超過部分會被截掉。請注意:留言不可帶有網址,會被濾掉。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

世紀帝國征服者新版本--被遺忘的帝國 世紀帝國征服者新版本--被遺忘的帝國 世紀二代的征服者是精典遊戲中的精典,aofe更好玩...

[AS3] 我做的唯一一個Flash As3遊戲UFO INVADSION [AS3] 我做的唯一一個Flash As3遊戲,是第一個也是最後一個,後來就沒再寫as3,不過as3還滿好玩的。

[PHP] 檢查IP是否在某個網段內 mtachcidr 要檢查IP是否在某個網段內,要寫幾行?10行?5行? 不用,只要2行。以下是我寫的 code /** * matchCI

[SIP] Kphone安裝記錄 Kphone是2008年當時ipv6剛要推廣時,唯一支援IPv6的公用網路電話,安裝的全記錄..

[HTLM5] 表單color、email、url、search、tel輸入類型 介紹HTML5好用的輸入類型:color、email、url,以及兩個形同雞肋的類型search、tel..