Nginx实现地址重定向

Nginx实现地址重定向

  • 目的

    通过配置,实现访问a.html自动跳转到b.html

  • 方案

    地址重定向可以在Nginx使用rewrite参数实现。

  • 配置步骤

    • 步骤一:修改配置文件,在server块内添加参数

          server {
              listen       80;
              server_name  localhost;
              rewrite a.html b.html;  //在访问的时候,访问路径不会变化。
              rewrite a.html b.html redirect; //访问路径也会变成重定向的路径(临时重定向)。
              rewrite a.html b.html permanent;//同上,但是属于永久重定向。
      
              #charset koi8-r;
      
              #access_log  logs/host.access.log  main;
      
              location / {
                  root   html;
                  index  index.html index.htm;
              }
      
      
    • 步骤二:重载配置文件,无报错表示配置生效。

    • redirect和permanent的区别

      • 在客户访问时看不出区别,主要区别在状态码。

      • 在/usr/local/nginx/log/accssee.log文件中可以看到访问日志,包括状态码。

        192.168.131.2 - - [07/Jul/2025:11:17:41 -0400] "GET /A.html HTTP/1.1" 302 145 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0"//状态码302表示为redirect重定向。
        192.168.131.2 - - [07/Jul/2025:11:13:43 -0400] "GET /a.html HTTP/1.1" 301 169 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0"//状态码301表示为permanent重定向
        
        
  • 案例

    • 旧网页迁移到新网页,并且保留访问目录。

      server {
              listen       80;
              server_name  localhost;
        
              rewrite ^/(.*)$ http://www.xxx.com/$1; //使用作正则表达式,复制原网站的目录重定向到新地址的目录下。
              location / {
                  root   html;
                  index  index.html index.htm;
              }
      
      
posted @ 2025-07-07 23:27  Epiphany(qrx)  阅读(103)  评论(0)    收藏  举报