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规则及参数的示例说明。
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
请登录后发表评论
注册
社交帐号登录