1、使用
//自己服务器nginx中的配置
server {
listen 80;
server_name jobin.yinfenglian.com;
rewrite ^/([0-9]+\-[0-9]+).html$ /article.jsp?id=$1 last; //伪静态
}
注意:如果80监听做了https的强制重定向,可以把伪静态的rewrite放到监听的443端口里边
server {
listen 443;
server_name jobin.yinfenglian.com;
index index.htm index.html;
root /usr/local/nginx/html/www;
rewrite ^/([0-9]+\-[0-9]+).html$ /article.jsp?id=$1 last;//伪静态
ssi_silent_errors on;
}
请求路径为:https://jobin.yinfenglian.com/20181126-10.html
真实路径为:https://jobin.yinfenglian.com/article.jsp?id=20181126-10
2、详解
rewrite ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1list.jsp?page=$2&id=$3
请求路径:http://www.abc.com/list-123-456.html
- ^和$字符分别代表了匹配输入字符串的开始和结束
- ()中的匹配到的内容会被按顺序分配到变量$1 $2 $3中
- .*匹配任意字符串,且长度从0个到多个,故$1值为/
- [0-9]+匹配字符0-9,长度1个到多个,故$2和$3分别是123和456 即page=123 id=456