分两部分实现旧网站到新网站的多网站重定向需求
实现旧站到新站的分路径重定向
没问题,这个分路径重定向的需求很典型,我会针对最常用的两种服务器(Apache和Nginx)给你具体的配置方案,你可以直接对应自己的环境来操作:
Apache 服务器(使用 .htaccess 文件)
如果你的旧站基于Apache运行,直接在旧站根目录下的.htaccess文件里添加以下规则即可(如果没有这个文件,新建一个就行):
# 启用URL重写引擎 RewriteEngine On # 第一部分:匹配所有/news开头的路径,重定向到新站的/news页面 # R=301表示永久重定向,对SEO友好;L表示匹配后停止后续规则,避免冲突 RewriteRule ^news/(.*)$ http://www.websiteB.com/news [R=301,L] # 第二部分:匹配其余所有页面,重定向到新站首页 RewriteRule ^(.*)$ http://www.websiteB.com/ [R=301,L]
重要提示:规则顺序不能乱,必须先写/news的匹配规则,否则会被下面的全局规则覆盖,导致所有请求都跳转到首页。
Nginx 服务器(修改配置文件)
如果是Nginx服务器,找到旧站对应的server配置块,添加以下内容:
server { listen 80; server_name www.websiteA.com; # 指定旧站域名 # 第一部分:优先匹配/news开头的路径,重定向到新站/news # ^~ 表示这个规则优先于正则匹配,防止被其他规则干扰 location ^~ /news { return 301 http://www.websiteB.com/news; } # 第二部分:其余所有请求重定向到新站首页 location / { return 301 http://www.websiteB.com/; } }
配置完成后,记得重启Nginx服务让配置生效。
额外注意事项
- 一定要用
301永久重定向,而非302临时重定向,这样搜索引擎会把旧站的权重转移到新站,对SEO更友好。 - 配置完成后,建议手动测试几个典型路径(比如旧站的/news、/news/post1、/page1),确认都能正确跳转到目标地址。
内容的提问来源于stack exchange,提问作者Kieran Headley
相关产品推荐
相关产品推荐

