计算机网络/计算机科学与应用/系统/运维/开发

Nginx URL重写

Nginx URL重写

Nginx的url地址重写功能,主要是使用nginx提供的rewrite功能且支持正则表达式

rewrite能够实现url的跳转,实现url规范化。


对爬虫的封禁让其跳转到一个错误的页面

动态的url,伪装成静态html页面,便于搜索引擎抓取

新旧域名的更换,替换www.oldboyedu.com > www.oldboyedu.com.cn


rewrite语法

rewrite ^/(.*)  http://192.168.178.34/$1  parmanent;


# 解释

rewrite 是nginx 地址重写的关键词指令,开启跳转功能

正则 ^/(.*) 表示匹配所有的请求,匹配成功后,跳转到后面指定的url地址

$1  是取出前面正则表达式分组括号里面的内容

parmanent 表示301 重定向的标记



rewrite 结尾的参数标记如下

Last 规则匹配完成后,继续向下匹配新的location

break  本条规则匹配完成后,立即停止匹配动作

Redirct 返回302临时重定向状态码,浏览器地址栏显示跳转后的url

permanent 返回301永久重定向


last 和break用于实现url重写,浏览器的地址栏不会发生变化

redirct 和permanent 也是用于url跳转浏览器url地址栏发生变化,跳转到新的url地址栏


实现一个301url跳转

准备一个虚拟主机的配置文件,实现,当用户访问该虚拟主机,直接跳转到百度页面

vim extra/learn_rewrite.conf 

server {

listen  90;

server_name _;

# 最低级请求配置 所有请求都走到这里

location / {

rewrite ^/(.*)  http://www.baidu.com/$1

}

}


日子是崭新的,不要回头看,如果今年还掉眼泪,希望是喜极而泣。

评论

^