nginx 伪静态

时间:2022-06-19
本文章向大家介绍nginx 伪静态,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

最近有个在官网加【行业资讯】的需求。考虑到主要目的是为了推广,决定对资讯的栏目和内容页进行伪静态处理。

下面以文章 id 为 5 的文章页为例。原始地址为:

oriUrl = http://blog.muzixizao.com/?p=5

其实所谓的伪静态,就是去除地址里的动态参数,比如 ?、= 等,以便更适应搜索引擎优化搜索,当然,也可以美化我们的 url。

现在,我们可以将上述链接的伪静态地址定为:

staticUrl = http://blog.muzixizao.com/p/5.html

也就是说,当我们在地址栏中输入 staticUrl 时,需要服务器匹配到 oriUrl 匹配的路由。这个对于 nginx 而言,一个正则匹配就够了。

location / {
    rewrite ^/p/(d+).html$ /?p=$1; 将 /p/140.html 重写成 /?p=140
}

对于 nginx 的路由匹配不太明白的,可以参考 Nginx location匹配规则

如果有较多的匹配规则,可以将伪静态的路由重写抽离成一个单独的文件,在对应域名下引入重写文件即可。

# rewrite.conf
location / {
    rewrite ^/p/(d+).html$ /?p=$1; 将 /p/140.html 重写成 /?p=140
}
# nginx.conf
location / {
    include rewrite.conf
}