nginx 重写URL尾部斜杠

默北 Nginx430,6632字数 360阅读1分12秒阅读模式

网友问如何在URL后面添加上斜杠。顺便总结了下针对URL结尾添加斜杠和删除斜杠的改写规则。

1. 在URL结尾添加斜杠

在虚拟主机中这么添加一条改写规则:文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-rewrite-the-url-trailing-slash/

rewrite ^(.*[^/])$ $1/ permanent;

例如:文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-rewrite-the-url-trailing-slash/

server {
    listen 80;
    server_name bbs.ttlsa.com;
    rewrite ^(.*[^/])$ $1/ permanent;
}

2. 删除URL结尾的斜杠

在虚拟主机中这么添加一条改写规则:文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-rewrite-the-url-trailing-slash/

rewrite ^/(.*)/$ /$1 permanent;

例如:文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-rewrite-the-url-trailing-slash/

server {
    listen 80;
    server_name bbs.ttlsa.com;
    rewrite ^/(.*)/$ /$1 permanent;
}

不过建议删除URL结尾的斜杠,会混乱搜索引擎的。文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-rewrite-the-url-trailing-slash/

引申nginx重写规则参见《Nginx重写规则指南》。文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-rewrite-the-url-trailing-slash/ 文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-rewrite-the-url-trailing-slash/

weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
默北
  • 本文由 发表于 13/10/2014 01:00:03
  • 转载请务必保留本文链接:https://www.ttlsa.com/nginx/nginx-rewrite-the-url-trailing-slash/
评论  4  访客  4
    • 匿名
      匿名 9

      location /3d {
      proxy_pass http://localhost:8081;
      }

      访问地址http://localhost:8089/3d/api/data/search 转发后全部变成
      //api/data/search
      不知道有何方式 可以改成:
      /api/data/search

      • Aceslup
        Aceslup 9

        感谢分享。

        • 牧童Damian
          牧童Damian 9

          mark

        评论已关闭!