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

Nginx配置301重定向:将指定URL路径的watch替换为watch-1的方法

如何在Nginx中配置URL路径替换的301重定向?

嘿,这个需求很常见,用Nginx的rewrite规则就能完美解决,我给你详细说下怎么配置:

首先,找到你对应域名myweb.com的server配置块,在里面添加这条核心的重定向规则:

server {
    listen 80;
    server_name myweb.com;

    # 实现watch到watch-1的301重定向
    rewrite ^/watch/(\w+)$ /watch-1/$1 permanent;

    # 这里保留你原本的其他配置,比如root、location规则等
}

我给你拆解下这条规则的含义:

  • ^/watch/(\w+)$:这是正则匹配表达式,^匹配URL路径的开头,/watch/是我们要替换的固定前缀,(\w+)用来捕获后面的随机字符串(比如你例子里的fadfadf1),$确保只匹配精确的/watch/xxx格式路径,不会误匹配更长的路径。
  • /watch-1/$1:这是重定向的目标路径,$1就是刚才正则捕获到的那串随机字符,这样就实现了把watch替换成watch-1的效果。
  • permanent:这个参数指定这是301永久重定向,搜索引擎会更新索引记录,用户的浏览器也会缓存这个重定向关系,对SEO和用户体验都很友好。

几个需要注意的点:

  • 这条rewrite规则要放在其他location规则的前面,因为Nginx是按配置文件的顺序匹配规则的,放在前面才能优先触发重定向。
  • 如果你同时支持HTTPS访问,记得在HTTPS的server块里也添加同样的规则,或者把规则抽成单独的配置文件用include引入,避免重复配置。
  • 配置修改完成后,一定要先执行nginx -t检查配置语法是否正确,确认没问题后再用systemctl reload nginx(或者你的系统对应的Nginx重启命令)让新配置生效。

测试一下:当用户访问http://myweb.com/watch/fadfadf1时,浏览器会自动跳转到http://myweb.com/watch-1/fadfadf1,返回的状态码是301,完全符合你的需求。

内容的提问来源于stack exchange,提问作者tom smith

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:23:42