字符 |
描述 |
\ |
將后面接著的字符標記為一個特殊字符或一個原義字符或一個向后引用。如“\n”匹配一個換行符,而“\$”則匹配“$” |
^ |
匹配輸入字符串的起始位置 |
$ |
匹配輸入字符串的結束位置 |
* |
匹配前面的字符零次或多次。如“ol*”能匹配“o”及“ol”、“oll” |
+ |
匹配前面的字符一次或多次。如“ol+”能匹配“ol”及“oll”、“oll”,但不能匹配“o” |
? |
匹配前面的字符零次或一次,例如“do(es)?”能匹配“do”或者“does”,"?"等效于"{0,1}" |
. |
匹配除“\n”之外的任何單個字符,若要匹配包括“\n”在內的任意字符,請使用諸如“[.\n]”之類的模式。 |
(pattern) |
匹配括號內pattern并可以在后面獲取對應的匹配,常用$0...$9屬性獲取小括號中的匹配內容,要匹配圓括號字符需要\(Content\) |
rewrite 企業應用場景
Nginx的rewrite功能在企業里應用非常廣泛:
Nginx配置rewrite過程介紹
(1)創建rewrite語句
vi conf/vhost/www.abc.com.conf
#vi編輯虛擬主機配置文件
文件內容
server { listen 80; server_name abc.com; rewrite ^/(.*) http://www.abc.com/$1 permanent; } server { listen 80; server_name www.abc.com; location / { root /data/www/www; index index.html index.htm; } error_log logs/error_www.abc.com.log error; access_log logs/access_www.abc.com.log main; }
或者
server { listen 80; server_name abc.com www.abc.com; if ( $host != 'www.abc.com' ) { rewrite ^/(.*) http://www.abc.com/$1 permanent; } location / { root /data/www/www; index index.html index.htm; } error_log logs/error_www.abc.com.log error; access_log logs/access_www.abc.com.log main; }
(2)重啟服務
確認無誤便可重啟,操作如下:
nginx -t
#結果顯示ok和success沒問題便可重啟
nginx -s reload
(3)查看跳轉效果
打開瀏覽器訪問abc.com
頁面打開后,URL地址欄的abc.com變成了www.abc.com說明URL重寫成功。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。