htaccess正規表示式

2021-06-12 17:01:34 字數 2317 閱讀 1370

#

位於行首時表示注釋。

[f]forbidden(禁止): 命令伺服器返回 403 forbidden錯誤給使用者瀏覽器

[l]last rule(最後一條規則): 告訴伺服器在本條規則執行完後停止重寫url

[n]next(下一條規則): 告訴伺服器繼續重寫,指導所有重寫指令都執行過

[g]gone(丟失): 命令伺服器返回410 gone(no longer exists)錯誤訊息

[p]proxy(**): 告訴伺服器通過

mod_proxy模組處理使用者請求

[c]chain(**): 告訴伺服器將當前的規則和前面的規則進行**

[r]redirect(重定向): 命令伺服器發出重定向訊息,以便使用者瀏覽器發出rewritten/modified(重寫/修改)url的請求

[nc]

no case(不區分大小寫): 對客戶端請求的url不區分大小寫

[pt]

pass through(放行): 讓mod_rewrite模組將重寫的url傳回給apache做進一步處理

[or]

or(邏輯或): 用邏輯「或」將兩個表示式連線在一起,如果結果為「真」,則會應用後繼的相關規則

[ne]

no escape(禁用轉義): 命令伺服器在輸出時禁用轉義字元

[ns]

no subrequest(禁用子請求): 如果存在內部子請求,則跳過當前命令

[qsa]

[s=x]

skip(跳過): 如果滿足某指定的條件,則跳過後面第x調規則

[e=variable:value]

environmental variable(環境變數): 命令伺服器將值value賦給變數variable

[t=mime-type]

mime type(mime型別): 宣告目標資源所屬的mime型別

匹配乙個字元集合,例如[xyz]可以匹配x, y或者z

+ 例如[xyz]+會以任何順序、次數匹配x,y,z的出現

[^]字元^表示字符集的

補集。[^xyz]將匹配沒有x,y或者z的字串

[a-z]

連字元(-)表示匹配從字母a到字母z的所有字串

a 指定字母a出現的次數為n次,滿足該條件時匹配。例如x僅與***匹配

a 指定字母a出現的次數至少為n次,例如x可以與***或者***x等匹配

a 指定a出現的次數至少為n到m次。

()用於將正規表示式分組,滿足第一組正規表示式的字串會被儲存在變數

$1中,以此類推。如果括號中的不是正規表示式,例如(perishable)?press 將能夠匹配有或者沒有perishable字首的press

^ 位於行首。注意:和中括號中的[^]意義不同。

$ 位於行末

? 例如 monzas? 會匹配 monza 或者 monzas,而 mon(za)? 會匹配 mon 或者 monza。又如 x? 會匹配「空字元」 或者 乙個x

! 邏輯非。例如「!string」 將會匹配除了「string」以外的所有字串

. 表示任意字串

- 命令apache「不要」重寫url,例如「***.domain.com.* – [f]」

+ 匹配至少乙個任意字元,例如g+匹配以g開頭、並且後面至少有乙個字元的字串

* 匹配零個或多個字元,例如「.*」匹配任意字串

| 邏輯「或」,與[or]不同的是,它只匹配字串,例如(x|y)匹配x或者y

\ 轉義字元。可以轉義左括號( 尖字元^ 美元符號$ 感嘆號! 點. 星號* 管道符號| 右括號) 等

\.轉義為點字元(點字元在正規表示式中可以匹配任意字元)

/*零個或多個正斜槓

.*零個或多個任意字元(即,匹配任意字串,包括空字元)

^$匹配「空字元」、「空行」

^.*$

匹配任意字串(僅限一行)

[^/.]

匹配既非「正斜槓」也不是「點」的任意字元

[^/.]+

匹配第乙個字元既非「正斜槓」也不是「點」,後繼字元可以是「正斜槓」或者「點」的字串

匹配「http://」

^domain.*

匹配以「domain」開始的字串

^domain\.com$

僅匹配「domain.com」

-d測試字串是否是已存在的目錄

-f測試字串是否是已存在的檔案

-s測試字串所指檔案是否有「非零」值

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...