Nginx配置url重写


url重写是指通过配置conf文件,以让网站的url中达到某种状态时则定向/跳转到某个规则,比如常见的伪静态、301重定向、浏览器定向等

rewrite

语法

在配置文件的server块中写,如:

server {
    rewrite 规则 定向路径 重写类型;
}

 

规则:可以是字符串或者正则来表示想匹配的目标url定向路径:表示匹配到规则后要定向的路径,如果规则里有正则,则可以使用$index来表示正则里的捕获分组

重写类型:

last :相当于Apache里德(L)标记,表示完成rewrite,浏览器地址栏URL地址不变

break;本条规则匹配完成后,终止匹配,不再匹配后面的规则,浏览器地址栏URL地址不变

redirect:返回302临时重定向,浏览器地址会显示跳转后的URL地址

permanent:返回301永久重定向,浏览器地址栏会显示跳转后的URL地址

 

  last:
        重新将rewrite后的地址在server标签中执行
  break:
        将rewrite后的地址在当前location标签中执行

 

 

建立一个测试页面

 

 

 

server {
    # 访问 /last.html 的时候,页面内容重写到 /index.html 中
    rewrite /last.html /index.html last

 

    

 

   

# 访问 /break.html 的时候,页面内容重写到 /index.html 中,并停止后续的匹配
    rewrite /break.html /index.html break;


  

   

 

    

 

 

  

# 访问 /redirect.html 的时候,页面直接302定向到 /index.html中
    rewrite /redirect.html /index.html redirect


  

  

 

  

 

  页面输入的是

  

 

 

   302重定到你在nginx网站根目录下创建的目录

 

 

  

# 访问 /permanent.html 的时候,页面直接301定向到 /index.html中
    rewrite /permanent.html /index.html permanent;

    
  这个和redirect差不多也是重定301
  

  

 

 

 

  

# 把 /html/*.html => /post/*.html ,301定向
    rewrite ^/html/(.+?).html$ /post/$1.html permanent;

  

未完------------

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM