国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Apache > 正文

apache url rewrite及正則表達式筆記

2024-08-27 18:29:18
字體:
來源:轉載
供稿:網友
apache url rewrite及正則表達式筆記

  

什么是mod_rewrite?

mod_rewrite是apache一個允許服務器端對請求url做修改的模塊。入端url將和一系列的rule來比對。這些rule包含一個正則表達式以便檢測每個特別的模式。如果在url中檢測到該模式,并且適當的預設條件滿足,name該模式將被一個預設的字符串或者行為所替換。

這個過程持續進行直到沒有任何未處理的規則或者該過程被顯式地停止。

這可以用三點來總結:

  • 有一系列的順序處理的規則rule集
  • 如果有一條規則被匹配,將同時檢查該規則對應的條件是否滿足
  • 如果一切處理結果都是go,那么將執行一條替換或者其他動作
mod_rewrite的好處

有一些比較明顯的好處,但是也有一些并不是很明顯:

mod_rewrite非常普遍地被用于轉換丑陋的,難以明義的URL,形成所謂"友好或干凈的url"。

另一方面,這些轉換后的url將會是搜索引擎友好的

正則表達式token:

/s{2,}  2個以上的空格

/|    backward referrence

//    matches a '/'

/b    Word boundary position,比如whitespace或者字符串的開始或者結束

/B    Not a word boundary position

(?=ABC)  positive lookahead. Matches a group after your main exPRession without including it in the result

(?!ABC)  Negative lookahead.Specifies a group that can not match after your main expression(ie. if it matches, the result is discarded)

(?<=ABC) Positive lookbehind. Matches a group before your main expression without including it in the result.

(?<!ABC)  Negative lookbehind.Specifies a group that can not match before your main expression(ie.if it matches, the result is discarded)

*?    :match zero or more of the preceeding token. This is a lazy match, and will match as few characters as possible before satisfying the next token

+?    :match one or more of the preceeding token. This is a lazy match, and will match as few characters as possible before satisfying the next token

{5}    :matches exactly 5 of the preceeding token;

{2,5}  : matches 2 to 5 of the preceding token. Greedy match;

{2,5}?  matches 2 to 5 of the preceding token. lazy match;

(ABC)  groups multiple tokens together. This allows you to apply quantifiers to the fall group. Creates a capture group roll over a match highlight to see the capture group result

(?:ABC)  groups multiple tokens without creating capture group;

$$    escaped $ symbol       $`: insert the portion of the string that precedes the match

$&:    inserts the matched substring $' : insert the portion of the string that follows the match[$1]:    inserts the result of the first capture group

m      multiline

i       ignore case

"S"      match any character, except for line breaks if dotall is false

"g"    search globally

?    zero or one

/    escape

/.  //  /+  /*  /?  /^  /$  /[  /]  /(  /)  /{  /}  //  /'  /#

[ABC]  Any single character in ABC set

+    one or more

*    zero or more

|  or matches the full before or after '|'      (https?|ftp)://

^    matches the beginning of the string    

$    matches the end of the string

$1    refer to a match

$2    refer to another match

?:  within parenthesis to not capture (^.+(?:jpg|png|gif)$)

[^ABC]   Any single character not in the set

[a-z]    any single character in the a-z range

[^b-e]    any single character that is not in range b-e

[0-9]

[/w'-]  any world characater, single quote or -

/t  /r/n  tab

/xFF    specifying a character by its hexdecimal index

/xA9 => copyright symbol


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁南县| 安远县| 屏山县| 西宁市| 碌曲县| 台中县| 汉沽区| 竹溪县| 永新县| 朔州市| 滁州市| 台东市| 和田市| 甘孜| 永泰县| 双峰县| 微博| 汤阴县| 清河县| 蓬莱市| 合阳县| 肇东市| 格尔木市| 玛曲县| 伊吾县| 四会市| 舞钢市| 翁源县| 敦煌市| 吐鲁番市| 翁源县| 天长市| 南皮县| 巴中市| 黔江区| 永胜县| 扎囊县| 施甸县| 北票市| 武强县| 汝南县|