apache 301重定向核心是将旧域名所有请求精准永久跳转至新域名并保留原始路径,推荐用include指令将规则存为独立文件(如redirect-old.conf),在virtualhost内引入绝对路径,确保mod_rewrite启用且语法正确。

合并站点域名时,Apache 的 301 重定向核心是把旧域名所有请求精准、永久跳转到新域名,同时保留原始路径,不丢失 SEO 权重和用户访问体验。推荐用服务端配置(非 .htaccess),并把规则独立存放便于维护。
用 Include 单独管理重定向规则
把旧域名的全量跳转逻辑抽离成独立文件,比如 /www/server/apache/conf/extra/redirect-old.conf,内容如下:
- RewriteEngine On —— 开启重写引擎
- RewriteCond %{HTTP_HOST} ^(www\.)?old-site\.com$ [NC] —— 同时匹配 old-site.com 和 www.old-site.com,[NC] 表示不区分大小写
- RewriteRule ^(.*)$ https://new-site.com$1 [R=301,L] —— $1 携带原路径,[R=301,L] 表示永久跳转且终止后续规则
确保该文件权限为 644,Apache 可读;路径可自定义,但必须是绝对路径。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
在虚拟主机配置中引入规则
进入宝塔面板【网站】→ 目标站点【设置】→ 【配置文件】,在 <virtualhost></virtualhost> 块内(通常放在 DocumentRoot 或 <directory></directory> 之后)添加:
注意:
• 路径不能用相对路径或 ~ 符号
• 若 Apache 主配置未开放该目录读取权限,需在 httpd.conf 中确认已启用 IncludeOptional conf/extra/*.conf 或类似指令
• 修改后务必点击【重载配置】,不要仅重启 Apache
验证与常见避坑点
- 用 chinaz 状态码检测工具 输入旧域名首页,确认返回状态为 301,而非 302 或 200
- 测试子页面,如
old-site.com/about/应跳转至new-site.com/about/,路径不能丢失 - 若跳转后出现循环(如 new-site.com 又跳回 old-site.com),检查是否新旧规则共存、或 HTTPS 与 HTTP 混用导致协议冲突
- 确保
mod_rewrite已启用:在httpd.conf中确认LoadModule rewrite_module modules/mod_rewrite.so未被注释
替代方案:直接写在站点配置里
如果暂不想拆分文件,可在站点配置的 <directory></directory> 区块末尾直接加两行:
- RewriteEngine on
- RewriteRule ^(.*)$ https://new-site.com$1 [R=301,L]
这种方式适合临时调整或单域名迁移,但长期维护建议仍用 Include 分离——避免主配置臃肿,也方便多站点复用同一份重定向规则。










