WordPress多站点:如何将旧站点重定向至子目录新站点?
旧站点重定向到子目录站点的解决方案
嘿,针对你的两个问题,我给你详细拆解下:
一、如何将旧站点重定向至/new路径?
有两种靠谱的方法可以实现,根据你的技术偏好选就行:
1. 通过.htaccess文件实现永久重定向(推荐,对SEO友好)
在旧站点的根目录找到.htaccess文件(如果没有就新建一个),添加以下规则:
RewriteEngine On # 排除/new本身的请求,避免循环重定向 RewriteCond %{REQUEST_URI} !^/new/ # 将所有旧站点请求重定向到/new路径 RewriteRule ^(.*)$ /new/$1 [R=301,L]
R=301表示永久重定向,搜索引擎会更新索引指向新地址;L表示执行完这条规则后停止后续规则,防止冲突;- 如果你有个别页面不需要重定向,可以在
RewriteCond后面添加更多排除条件,比如RewriteCond %{REQUEST_URI} !^/specific-page/。
2. 使用WordPress插件实现重定向
如果你不想碰代码,可以在旧站点后台安装类似Redirection的插件,然后设置一条全局重定向规则:
- 源URL填
/(.*) - 目标URL填
/new/$1 - 选择重定向类型为301永久重定向
这种方法更直观,适合不熟悉服务器配置的用户,前提是旧站点还能正常登录后台。
二、能否直接修改WordPress MU Domain Mapping的Siteurl为http://www.oldsite.com/new?
不建议这么做,原因如下:
- WordPress MU Domain Mapping的核心作用是把独立域名映射到多站点网络中的某个站点,不是用来处理子目录跳转或站点目录变更的;
- 直接修改Siteurl会导致旧站点的URL和实际文件路径不匹配:旧站点的文件还在根目录,但Siteurl指向了/new,会出现图片、样式表、脚本等资源加载失败的问题,甚至旧站点的后台都无法正常访问;
- 这种操作并不会让旧站点的请求指向新目录的站点,反而会破坏旧站点本身的正常运行。
如果你的目标是把旧站点的内容迁移到新的子目录站点,正确的步骤应该是先完成内容迁移(比如导出旧站点内容,导入到新站点),再通过上面的重定向方法引导用户到新地址。
内容的提问来源于stack exchange,提问作者wayne
相关产品推荐
相关产品推荐

