Nginx架构篇(13)Rewrite - 替换url中一部分的内容
Posted 资本家的鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx架构篇(13)Rewrite - 替换url中一部分的内容相关的知识,希望对你有一定的参考价值。
例2 替换url中一部分的内容
利用正则中的”()和\\1 “,
替换url中一部分的内容。
将http://192.168.19.100/2016/a/b/c/1.html
换http://192.168.19.100/2017/a/b/c/1.html
实验环境:
mkdir -p /usr/share/nginx/2016/a/b/c/ 创建源目录
mkdir -p /usr/share/nginx/2017/a/b/c/ 创建待测试目录
echo /a/b/a/1.html > /usr/share/nginx/2017/a/b/c/1.html 仅替换url
cp /usr/share/nginx/2016/a/b/c/1.html /usr/share/nginx/2017/a/b/c/1.html
配置地址重写:
vim /etc/nginx/conf.d/default.conf
location /2016
rewrite ^/2016(.*)$ /2017/$1 permanent;
#^/2016(.*)$: 以/2016开头任意字符结尾
访问旧页面进行测试;http://192.168.19.100/2016/a/b/c/1.html
url因为permanent被重新改写 ,请求也变为2次。客户端重新申请了两次
cat /var/log/nginx/access.log
192.168.19.102 - - [10/Jun/2022:11:15:55 +0800] "GET /2016/a/b/c/1.html HTTP/1.1" 301 169 "-" "ELinks/0.12pre6 (textmode; Linux; 113x20-2)" "-"
192.168.19.102 - - [10/Jun/2022:11:15:55 +0800] "GET /2017//a/b/c/1.html HTTP/1.1" 200 14 "http://192.168.19.100/2016/a/b/c/1.html" "ELinks/0.12pre6 (textmode; Linux; 113x20-2)" "-"
以上是关于Nginx架构篇(13)Rewrite - 替换url中一部分的内容的主要内容,如果未能解决你的问题,请参考以下文章
Nginx Rewrite模块(内含Nginx模块概述)———理论篇
Nginx详解十八:Nginx深度学习篇之Rewrite规则