nginx rewrite 伪静态配置参数详细说明

nginx的rewrite模块可以实现URL的重写,从而实现伪静态。Rewrite规则的语法为:

rewrite regex replacement [flag];

其中:- regex:匹配的正则表达式,如果输入的地址与该正则表达式匹配,则进行重定向。

– replacement:重定向的目标地址,可以是绝对地址或相对地址。

– flag:可选,标记重定向的方式。常用的有:| 标记   | 含义         |

| ——— |:———–:|

| last      | 页面重定向结束,不再继续访问其他rewrite模块 |

| break     | 停止处理当前请求 |

| redirect  | 重定向,返回301 |

| permanent | 永久重定向,返回301     | 下面我们以一些例子详细说明:

1. 隐藏index.php

rewrite ^/index\.php(.*)$ $1 permanent; 

这个会将/index.php?id=1重定向到/id=1,实现隐藏index.php。

2. 禁止访问某个目录

rewrite ^/download/.*$ /download forbidden;    

这个规则会禁止访问/download目录及其子目录。

3. 伪静态规则

rewrite ^/article/(\d+).html$ /article.php?id=$1 last;  

这个规则会将/article/1.html重定向到/article.php?id=1,实现URL伪静态

4. 全站301重定向

 
server {
    listen 80;
    server_name old.domain.com;
    rewrite ^(.*)$ https://new.domain.com$1 permanent; 
}

这个配置会将old.domain.com下的所有请求301重定向到https://new.domain.com。以上就是nginx rewrite模块中的一些常用rewrite规则及参数的示例说明。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论