You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NGINX末尾带斜杠URL返回404求助:如何实现双URL正常访问

解决NGINX中带末尾斜杠的RSS URL返回404的问题

嘿,这个问题我之前配置RSS服务时也碰到过!本质是NGINX会把带末尾斜杠和不带斜杠的URL视作完全不同的请求——当你的目标是一个文件(比如newsfeed.rss)而非目录时,带斜杠的请求会被NGINX当成要访问一个叫newsfeed.rss的目录,自然就返回404了。这里有两个实用的配置方案,你可以按需选择:

方案1:301永久重定向(推荐,对SEO友好)

在你的NGINX server配置块里添加这条rewrite规则,把带末尾斜杠的请求重定向到不带斜杠的版本:

rewrite ^(/newsfeed\.rss)/$ $1 permanent;

这样用户访问https://www.mywebsite.com/newsfeed.rss/时,浏览器会自动跳转到不带斜杠的URL,同时搜索引擎也会更新索引,避免重复内容的问题。

方案2:内部匹配返回内容(无跳转)

如果你不想让用户看到跳转,希望两个URL都直接返回相同内容,可以用location规则配合try_files:

# 针对单个RSS文件的配置
location = /newsfeed.rss/ {
    try_files $uri /newsfeed.rss;
}

# 或者通用版,匹配所有以.rss/结尾的URL
location ~* ^(.+\.rss)/$ {
    try_files $uri $1;
}

这个规则会让NGINX在接收到带斜杠的RSS请求时,自动尝试访问不带斜杠的对应文件,从而返回正确内容。

最后一步

修改完配置后,别忘了重新加载NGINX让配置生效:

sudo nginx -s reload

内容的提问来源于stack exchange,提问作者Rocky Sena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:33:58