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的值。
- 本文固定链接: https://www.runcpp.com/?p=160
- 转载请注明: 快前端 于 快前端 网站发表