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 @ 2019-11-08 22:04  老王教你学Linux  阅读(100)  评论(0编辑  收藏  举报