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
}
}