nginx rewrite重写规则与防盗链配置方法教程详解

2025-05-26 0 76

导读:nginx rewrite重写规则与防盗链配置方法,rewrite规则格式中flag标记的几种形式,盗链时返回403错误,允许的域名直接跟在第二行的域名后面。

nginx rewrite重写规则与防盗链配置方法如下所示:

nginx rewite 规则,官方文档:http://wiki.nginx.org/NginxHttpRewriteModule

nginx rewrite规则格式:rewrite regex replacement flag

flag标记有四种格式:

last – 相当于Apache中的L
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302,相当于Apache中的R
permanent – 返回永久重定向的HTTP状态301,相当于Apache中的R=301

可以放在server, location 和 if 模块中。

匹配判断:

~ 为区分大小写匹配; !~为区分大小写不匹配
~* 为不区分大小写匹配;!~为不区分大小写不匹配

例如,设定nginx在用户使用ie的使用重定向到/nginx-ie目录下:

?

1

2

3
if ($http_user_agent ~ MSIE) {

rewrite ^(.*)$ /msie/$1 break;

}

附,常用nginx Rewrite 规则配置代码。

1、只使用一个网址,比如主力网址设为www.zzvips.com。

?

1

2

3
if ($host != 'www.zzvips.com' ) {

rewrite ^/(.*)$ http://www.zzvips.com/$1 permanent;

}

访问zzvips.com时,会自动跳转到www.zzvips.com。

2、防盗链

?

1

2

3

4

5

6
location ~* .(gif|jpg|png|swf|flv)$ {

valid_referers none blocked zzvips.com dgjs123.com;

if ($invalid_referer) {

return 403;

}

}

盗链时则返回403错误,允许的域名可以直接跟在第二行的域名后面。

3、WordPress的Rewrite

?

1

2

3

4

5

6

7

8

9

10

11

12
location / {

index index.html index.php;

if (-f $request_filename/index.html){

rewrite (.*) $1/index.html break;

}

if (-f $request_filename/index.php){

rewrite (.*) $1/index.php;

}

if (!-f $request_filename){

rewrite (.*) /index.php;

}

}

目前,代码收藏上就是使用的这段代码。

4.bo-blog在nginxnginx rewrite 规则

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27
if (!-e $request_filename) {

rewrite ^/post/([0-9]+)/?([0-9]+)?/?([0-9]+)?/?$ /read.php?entryid=$1&page=$2&part=$3 last;

rewrite ^/page/([0-9]+)/([0-9]+)/?$ /index.php?mode=$1&page=$2 last;

rewrite ^/starred/([0-9]+)/?([0-9]+)?/?$ /star.php?mode=$1&page=$2 last;

rewrite ^/category/([^/]+)/?([0-9]+)?/?([0-9]+)?/?$ /index.php?go=category_$1&mode=$2&page=$3 last;

rewrite ^/archiver/([0-9]+)/([0-9]+)/?([0-9]+)?/?([0-9]+)?/?$ /index.php?go=archive&cm=$1&cy=$2&mode=$3&page=$4 last;

rewrite ^/date/([0-9]+)/([0-9]+)/([0-9]+)/?([0-9]+)?/?([0-9]+)?/?$ /index.php?go=showday_$1-$2-$3&mode=$4&page=$5 last;

rewrite ^/user/([0-9]+)/?$ /view.php?go=user_$1 last;

rewrite ^/tags/([^/]+)/?([0-9]+)?/?([0-9]+)?/?$ /tag.php?tag=$1&mode=$2&page=$3 last;

rewrite ^/component/id/([0-9]+)/?$ /page.php?pageid=$1 last;

rewrite ^/component/([^/]+)/?$ /page.php?pagealias=$1 last;

#Force redirection for old rules

rewrite ^/read\\.php/([0-9]+)\\.htm$ http://$host/post/$1/ permanent;

rewrite ^/post/([0-9]+)\\.htm$ http://$host/post/$1/ permanent;

rewrite ^/post/([0-9]+)\\_([0-9]+)\\.htm$ http://$host/post/$1/$2/ permanent;

rewrite ^/post/([0-9]+)\\_([0-9]+)\\_([0-9]+)\\.htm$ http://$host/post/$1/$2/$3/ permanent;

rewrite ^/index\\_([0-9]+)\\_([0-9]+)\\.htm$ http://$host/page/$1/$2/ permanent;

rewrite ^/star\\_([0-9]+)\\_([0-9]+)\\.htm$ http://$host/starred/$1/$2/ permanent;

rewrite ^/category\\_([0-9]+)\\.htm$ http://$host/category/$1/ permanent;

rewrite ^/category\\_([0-9]+)\\_([0-9]+)\\_([0-9]+)\\.htm$ http://$host/category/$1/$2/$3/ permanent;

rewrite ^/archive\\_([0-9]+)\\_([0-9]+)\\.htm$ http://$host/archiver/$1/$2/ permanent;

rewrite ^/archive\\_([0-9]+)\\_([0-9]+)\\_([0-9]+)\\_([0-9]+)\\.htm$ http://$host/archiver/$1/$2/$3/$4/ permanent;

rewrite ^/showday\\_([0-9]+)\\_([0-9]+)\\_([0-9]+)\\.htm$ http://$host/date/$1/$2/$3/ permanent;

rewrite ^/showday\\_([0-9]+)\\_([0-9]+)\\_([0-9]+)\\_([0-9]+)\\_([0-9]+)\\.htm$ http://$host/date/$1/$2/$3/$4/$5/ permanent;

#Filename alias

rewrite ^/([a-zA-Z0-9_-]+)/?([0-9]+)?/?([0-9]+)?/?$ /read.php?blogalias=$1&page=$2&part=$3 last;

}

以上所述是小编给大家介绍的nginx rewrite重写规则与防盗链配置方法教程详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对快网idc网站的支持!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 nginx rewrite重写规则与防盗链配置方法教程详解 https://www.kuaiidc.com/53708.html

相关文章

发表评论
暂无评论