Nginx if語句加正則表達(dá)式實(shí)現(xiàn)字符串截?cái)?/h1>
更新時(shí)間:2015年02月07日 20:14:48 投稿:junjie
這篇文章主要介紹了Nginx if語句加正則表達(dá)式實(shí)現(xiàn)字符串截?cái)喙δ?特殊場合下可能會需要這個(gè)功能,NGINX的奇淫技巧之一,需要的朋友可以參考下
在給大家講述這個(gè)問題之前,先給大家看一段nginx配置. 我們用到了 set-misc-nginx-module
復(fù)制代碼 代碼如下:
location /test/ {
default_type text/html;
set_md5 $hash "secret"$remote_addr;
echo $hash;
}
這樣輸出來的內(nèi)容,可能是下面這樣的
復(fù)制代碼 代碼如下:
202cb962ac59075b964b07152d234b70
但如果我們要截取某幾位字符怎么辦呢?
首先大家想到的肯定是使用模塊來實(shí)現(xiàn), 但只能這樣嗎? 有沒有更方便的方式呢?
有的.
我們可以巧妙地使用if + 正則表達(dá)式來實(shí)現(xiàn)這個(gè)小需求:
復(fù)制代碼 代碼如下:
location /test/ {
default_type text/html;
set_md5 $hash "secret"$remote_addr;
if ( $hash ~ ^[\w][\w][\w][\w][\w][\w][\w][\w]([\w][\w][\w][\w][\w][\w][\w][\w]) ) {
set $hash $1;
}
echo $hash;
}
訪問/test/輸出的就是:
復(fù)制代碼 代碼如下:
ac59075b
相關(guān)文章
-
nginx-rtmp-module模塊實(shí)現(xiàn)視頻點(diǎn)播的示例代碼
本文主要介紹了nginx-rtmp-module模塊實(shí)現(xiàn)視頻點(diǎn)播,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧 2025-02-02
-
Nginx服務(wù)器作反向代理實(shí)現(xiàn)內(nèi)部局域網(wǎng)的url轉(zhuǎn)發(fā)配置
這篇文章主要介紹了Nginx服務(wù)器作反向代理實(shí)現(xiàn)內(nèi)部局域網(wǎng)的url轉(zhuǎn)發(fā)實(shí)例,文中提到需要注意proxy_read_timeout參數(shù)的相關(guān)調(diào)整,需要的朋友可以參考下 2016-01-01
-
nginx訪問動(dòng)態(tài)接口報(bào)錯(cuò)404Not Found問題解決
本文主要介紹了nginx訪問動(dòng)態(tài)接口報(bào)錯(cuò)404Not Found問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧 2023-03-03
-
nginx攔截非法host或直接使用ip訪問的請求的實(shí)現(xiàn)
非法攔截可以有效防止直接通過IP或本地綁定域名的方式進(jìn)行非法訪問,本文主要介紹了nginx攔截非法host或直接使用ip訪問的請求的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下 2024-12-12
-
nginx 1.0.0配ngx_cache_purge實(shí)現(xiàn)高效的反向代理
nginx默認(rèn)安裝就會帶有反向代理的功能,但想要更好的使用,還得配備frickle.com的ngx_cache_purge模塊,用于清除指定URL的緩存。 2011-06-06
最新評論
在給大家講述這個(gè)問題之前,先給大家看一段nginx配置. 我們用到了 set-misc-nginx-module
location /test/ {
default_type text/html;
set_md5 $hash "secret"$remote_addr;
echo $hash;
}
這樣輸出來的內(nèi)容,可能是下面這樣的
202cb962ac59075b964b07152d234b70
但如果我們要截取某幾位字符怎么辦呢?
首先大家想到的肯定是使用模塊來實(shí)現(xiàn), 但只能這樣嗎? 有沒有更方便的方式呢?
有的.
我們可以巧妙地使用if + 正則表達(dá)式來實(shí)現(xiàn)這個(gè)小需求:
location /test/ {
default_type text/html;
set_md5 $hash "secret"$remote_addr;
if ( $hash ~ ^[\w][\w][\w][\w][\w][\w][\w][\w]([\w][\w][\w][\w][\w][\w][\w][\w]) ) {
set $hash $1;
}
echo $hash;
}
訪問/test/輸出的就是:
ac59075b
相關(guān)文章
nginx-rtmp-module模塊實(shí)現(xiàn)視頻點(diǎn)播的示例代碼
本文主要介紹了nginx-rtmp-module模塊實(shí)現(xiàn)視頻點(diǎn)播,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
Nginx服務(wù)器作反向代理實(shí)現(xiàn)內(nèi)部局域網(wǎng)的url轉(zhuǎn)發(fā)配置
這篇文章主要介紹了Nginx服務(wù)器作反向代理實(shí)現(xiàn)內(nèi)部局域網(wǎng)的url轉(zhuǎn)發(fā)實(shí)例,文中提到需要注意proxy_read_timeout參數(shù)的相關(guān)調(diào)整,需要的朋友可以參考下2016-01-01
nginx訪問動(dòng)態(tài)接口報(bào)錯(cuò)404Not Found問題解決
本文主要介紹了nginx訪問動(dòng)態(tài)接口報(bào)錯(cuò)404Not Found問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
nginx攔截非法host或直接使用ip訪問的請求的實(shí)現(xiàn)
非法攔截可以有效防止直接通過IP或本地綁定域名的方式進(jìn)行非法訪問,本文主要介紹了nginx攔截非法host或直接使用ip訪問的請求的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-12-12
nginx 1.0.0配ngx_cache_purge實(shí)現(xiàn)高效的反向代理
nginx默認(rèn)安裝就會帶有反向代理的功能,但想要更好的使用,還得配備frickle.com的ngx_cache_purge模塊,用于清除指定URL的緩存。2011-06-06

