028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

nginx中的rewrite语句-创新互联

rewrite命令使用正则表达式来匹配请求URI,被匹配到的URI将会被重写,可以实现内部URL重写或URL重定向。rewrite命令可以出现在server、location、if语句块中。多个rewrite语句按照它们在配置文件中出现的位置从上往下顺序执行,匹配到某一条rewrite语句后是否会继续向下执行或后续如何处理,由那条语句决定。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、虚拟空间、营销软件、网站建设、滦南网站维护、网站推广。

命令语法格式:

rewrite  正则表达式  新URI  [flag];

示例:

先在网页根目录下创建一些目录和文件用于后续测试。

[root@gw ~]# mkdir -p /usr/local/nginx/html/dir/subdir1

[root@gw ~]# mkdir -p /usr/local/nginx/html/dir/subdir2

[root@gw ~]# echo 'subdir1 testfile.html' > /usr/local/nginx/html/dir/subdir1/testfile.html

[root@gw ~]# echo 'subdir2 testfile.html' > /usr/local/nginx/html/dir/subdir2/testfile.html

修改nginx配置文件,定义rewrite规则,可以在server语句块中定义。

[root@gw ~]# vim /usr/local/nginx/conf/nginx.conf

server {

    rewrite  ^/dir/(.*)/.*$  /dir/$1/testfile.html  break;

}

上面rewrite规则的含义是:若请求URI符合^/dir/(.*)/.*$,则将其重写为/dir/$1/testfile.html。$1是引用请求URI中第一个括号括起来的内容,$2、$3等类似(如果有的话)。这样,当请求是http://172.16.111.114/dir/subdir1/whaterver这种时,它将变成访问/dir/subdir1/testfile.html;若请求是http://172.16.111.114/dir/subdir2/whaterver时,它将访问/dir/subdir2/testfile.html这个文件。如下所示:

nginx中的rewrite语句

打开浏览器,按下F12键,切换到网络选项卡,再在浏览器地址栏中输入要访问的URL地址,就可以看到是否有URL重写或重定向:

nginx中的rewrite语句

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:nginx中的rewrite语句-创新互联
当前链接:http://www.tsicrk.com/article/csgcid.html

其他资讯

让你的专属顾问为你服务

3.8622s