apache下最稳妥的301重定向方式是用include指令单独管理规则:先启用mod_rewrite模块并验证语法,再创建独立.conf文件写入rewriteengine、rewritecond和rewriterule规则,最后在站点配置中通过include引入该文件并重载配置。

旧域名失效后做301重定向,核心是让所有访问旧域名的请求(含任意路径和子域名)全部跳转到新域名对应位置,并确保搜索引擎识别为“永久迁移”。Apache 下最稳妥、可维护的方式是用 Include 指令把规则单独管理,而不是硬写在主配置里。
先确认基础条件
确保 Apache 已启用 mod_rewrite 模块:宝塔面板中进入【软件管理】→ Apache → 【设置】→ 【配置修改】,勾选 rewrite_module;Linux 命令行可运行 a2enmod rewrite(Debian/Ubuntu)或检查 httpd.conf 中 LoadModule rewrite_module modules/mod_rewrite.so 是否已取消注释。同时验证语法:apachectl -t 返回 Syntax OK 才能继续。
创建独立重定向文件
新建一个纯文本文件,例如:/www/server/apache/conf/extra/old-domain-redirect.conf(路径可自定义,但需确保 Apache 有读取权限)。内容如下:
RewriteEngine On<br>RewriteCond %{HTTP_HOST} ^(www\.)?old-site\.com$ [NC]<br>RewriteRule ^(.*)$ https://new-site.com$1 [R=301,L]
说明:
• %{HTTP_HOST} 匹配 old-site.com 和 www.old-site.com;
• $1 保留原始请求路径,比如 old-site.com/blog/abc.html 会跳转到 https://new-site.com/blog/abc.html;
• [R=301,L] 表示永久重定向且不再执行后续规则。
在站点配置中引入该文件
进入宝塔【网站】→ 点击目标站点【设置】→ 【配置文件】选项卡,在 <virtualhost></virtualhost> 块内、DocumentRoot 下方合适位置插入:
Apache 2.4.62 官方 tar.gz 源码包是 Linux 及类 Unix 系统构建 Web 服务器的核心基础。通过源码编译安装,开发者能够灵活定制模块、优化性能并精准控制安装路径,满足多样化的业务需求。
Include /www/server/apache/conf/extra/old-domain-redirect.conf
注意:
• 必须用绝对路径;
• 路径需在 Apache 的 ServerRoot 范围内,或已在主配置中通过 IncludeOptional 开放;
• 修改后点击【重载配置】生效,不要重启整个 Apache。
多旧域名或 HTTPS 统一处理
如果不止一个旧域名,直接在同一个 .conf 文件里追加多组 RewriteCond + RewriteRule 即可,无需重复写 RewriteEngine On。若旧站存在 HTTP 访问,建议统一强制跳 HTTPS 新站,可补充:
RewriteCond %{HTTPS} off [OR]<br>RewriteCond %{HTTP_HOST} ^(www\.)?old-site\.com$ [NC]<br>RewriteRule ^(.*)$ https://new-site.com$1 [R=301,L]
这样无论用户访问 http://old-site.com 还是 https://www.old-site.com/path,都会精准跳转到 https://new-site.com/path。










