nginx 301 302跳转的详细说明nginx
server {正则表达式
listen 80;apache
server_name abc.com;浏览器
rewrite ^/(.*) http://www.abc.com/$1 permanent;服务器
access_log off;spa
}server
last – 基本上都用这个Flag。it
break – 停止Rewirte,不在继续匹配io
redirect – 返回临时重定向的HTTP状态302ast
permanent – 返回永久重定向的HTTP状态301
Nginx的重定向用到了Nginx的HttpRewriteModule,下面简单解释如下如何使用的方法:
rewrite命令
nginx的rewrite至关于apache的rewriterule(大多数状况下能够把原有apache的rewrite规则加上引号就能够直接使用),它能够用在server,location 和IF条件判断块中,命令格式以下:
rewrite 正则表达式 替换目标 flag标记
flag标记能够用如下几种格式:
last – 基本上都用这个Flag。
break – 停止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302
permanent – 返回永久重定向的HTTP状态301
特别注意:
last和break用来实现URL重写,浏览器地址栏的URL地址不变,可是在服务器端访问的路径发生了变化;
redirect和permanent用来实现URL跳转,浏览器地址栏会显示跳转后的URL地址;
301跳转实例
server {
listen 80;
server_name abc.com;
rewrite ^/(.*) http://www.abc.com/$1 permanent;
access_log off;
}
302跳转实例
server {
listen 80;
server_name abc.com;
rewrite ^/(.*) http://www.abc.com/$1 redirect;
access_log off;
}