Nginx 自动补全url地址补全最后的斜线

本文详细介绍了如何使用 Nginx 的 URL 重写功能来解决访问特定目录(如 riskcontrol 和 buyloan)时因缺少斜线导致的问题,并提供了具体的配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考地址: http://blog.youkuaiyun.com/dong123dddd/article/details/51660368

    location /riskcontrol {
      root /data;
      # 解决访问riskcontrol不加斜线时无法访问问题
      if ( -d $request_filename ){
          rewrite ^/(.*)([^/])$ https://$host/$1$2/ permanent;
      }

      try_files $uri $uri/ /riskcontrol/index.html;
      access_log /app/logs/riskcontrol.log;
    }

    location /buyloan {
      root /data;

      # 解决访问buyloan不加斜线时无法访问问题
      if ( -d $request_filename ){
          rewrite ^/(.*)([^/])$ https://$host/$1$2/ permanent;
      }

      try_files $uri $uri/ /buyloan/index.html;
      access_log /app/logs/buyloan.log;
    }

转载于:https://www.cnblogs.com/Csir/p/8473662.html

### 解决 Nginx 自动补全 URL 路径的方法 为了防止 NginxURL 进行不必要的自动补全操作,可以采取以下几种方法来确保 URL 的一致性并避免重复内容问题。 #### 方法一:配置 `trailing_slash` 参数 通过调整 Nginx 配置文件中的参数,可以在不改变原有逻辑的情况下控制是否在 URL 后面添加斜杠。具体做法是在 location 块内设置 try_files 指令,并指定当请求的 URI 不是以斜杠结尾时不执行默认行为: ```nginx location / { try_files $uri $uri/ =404; } ``` 此配置意味着如果访问的是一个目录,则返回该目录下的索引文件;如果是普通文件则直接提供服务;对于不存在的资源给予 404 错误响应[^1]。 #### 方法二:利用 rewrite 规则实现精确匹配 另一种方式是使用更严格的正则表达式来进行重写规则的设计,从而只针对特定情况应用补充斜杠的操作。例如,在处理静态页面时可以通过如下代码片段完成这一目标: ```nginx rewrite ^(/[^/.]+)$ $1/ permanent; ``` 上述命令表示只要遇到不是以 . 开头也不是已经带有斜杠的情况就为其加上斜杠并做永久跳转(301)。注意这里的括号用于捕获分组以便后续引用[$1][^2]。 #### 方法三:结合 robots.txt 文件优化搜索引擎抓取策略 除了技术手段外还可以借助 SEO 技巧减少因路径不同而导致的内容冗余现象。编辑站点根目录下的 robots.txt 文件声明偏好版本的链接形式有助于引导蜘蛛按照预期的方式爬行网页: ``` User-agent: * Disallow: /*?* Allow: / ``` 以上措施能够有效阻止大部分主流搜索引擎对动态查询字符串类型的URL进行深入探索,进而集中精力于规范化后的地址上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值