首先说明一下301和302重定向有什么区别 301代表着永久重定向,意思就是这个网址不存在了,告诉浏览器搜索引擎原由的网址已经转向现在的网址了。而302代表着暂时重定向,以后还会回来的。
1. 301跳转设置:
 server {
   listen 80;
  server_name onephper.com;
  rewrite ^/(.*) http://www.onephper.com/$1 permanent;
  access_log off;
 }2. 302跳转设置:
 server {
   listen 80;
   server_name onephper.com;
   rewrite ^/(.*) http://www.onephper.com/$1 redirect;
   access_log off;
 }3. 将不带www的重定向为带www的
  if ($host != 'www.onephper.com'){
     rewrite ^/(.*)$ http://www.onephper.com/$1 permanent;
  }4. 将url中news地址转向到archives网址
   location /news/ {
     rewrite ^/news/(.*)$ http://www.onephper.com/archives/$1 permanent;
   }5. 补充
last – 基本上都用这个Flag。
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302
permanent – 返回永久重定向的HTTP状态301
6.参考网址
http://blog.sina.com.cn/s/blog_6f2274fb0100vo1b.html(301重定向和302重定向那个利于优化)
http://www.3lian.com/edu/2013/07-01/77550.html(重定向规则)
结束语
本文有任何错误,或有任何疑问,欢迎留言说明。
网友最新评论