rewrite场景实例(适用于开发)

需求: 用户访问course-11-22-33.html实际上真实访问是/course/11/22/33/course_33.html
[root@web01 conf.d]# cat url.oldxu.com.conf 
server {
    listen 80;
    server_name url.oldxu.com;
	root /data;
	location /  {
		index index.html;
				#用户访问的url		#文件真实位置
		rewrite ^/(.*)-(.*)-(.*)-(.*).html /$1/$2/$3/$4/$1_$4.html;
	}
}
rewrite中的flag

跳转
		redirect	302		临时跳转	 旧网站无影响,新网站无排名
		permanent	301		永久跳转     新跳转网站有排名,旧网站排名清空
		
		http  ---> https   302		浏览器不会记住新域名
		http  ---> https   301		浏览器会记录新域名
		
last		#本条规则匹配完成后,继续向下匹配新的location URI规则
break	  	#本条规则匹配完成即终止,不再匹配后面的任何规则
	
当rewrite规则遇到break后,本location{}与其他location{}的所有rewrite/return规则都不再执行。
当rewrite规则遇到last后,本location{}里后续rewrite/return规则不执行,但重写后的url再次从头开始执行所有规则,哪个匹配执行哪个。
posted @   老王教你学Linux  阅读(100)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示