首页 > 后端教程 > nginx > nginx 实现伪静态设置 rewrite URL重写
2018
11-19

nginx 实现伪静态设置 rewrite URL重写

nginx 实现url 重写是非常简单的。我们还是在 1.runcpp.com 这里进行我们的学习尝试。

因为我们开启了 SSL,所以下面的重写配置要写到 SSL 的配置信息里面。

nginx url 重写的规则是这样的:

 rewrite    <regex>    <replacement>    [flag];
关键字     正则       替代内容         flag标记

正则:perl兼容正则表达式语句进行规则匹配

替代内容:将正则匹配的内容替换成replacement

flag标记:rewrite支持的flag标记

flag标记说明:

last #本条规则匹配完成后,继续向下匹配新的location URI规则

break #本条规则匹配完成即终止,不再匹配后面的任何规则

redirect #返回302临时重定向,浏览器地址会显示跳转后的URL地址

permanent #返回301永久重定向,浏览器地址栏会显示跳转后的URL地址

好,现在我们先修改 1.php的内容为:

<?php
echo $_GET['id'];

一般来说,我们的博客的文章的路径是这样的, 1.runcpp.com/1.php?id=15,但是,我们实际看到是这样的 1.runcpp.com/sort/1.html ,这是因为我们把后一个url重写到了前一个url里面,根据前面的知识,我们可以这么写:

location / {
                root /usr/share/nginx/html/1;
                index index.html;		
		rewrite /sort/(.*)\.html /1.php?id=$1 last;
        }

访问 1.runcpp.com/sort/15.html 这个网页可以看到输出了15,也就是ID的值。

 

 

最后编辑:
作者:eatdao
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。