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

如何通过.htaccess将旧域名下带.html后缀的URL重定向到子域名

.htaccess 配置:将旧域名的.html页面重定向到archive子域名

以下配置可实现把旧域名下所有以.html结尾的HTTP请求,重定向到archive子域名的对应路径,同时避免和WordPress规则冲突:

# 启用重写引擎
RewriteEngine On

# 匹配HTTP请求(旧站点未启用HTTPS),且请求路径以.html结尾(不区分大小写)
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} \.html$ [NC]

# 重定向到archive子域名,保留完整请求路径,使用301永久重定向
RewriteRule ^(.*)$ http://archive.example.com/$1 [R=301,L]

# --- 下方保留WordPress默认规则(确保上面的重定向规则在这部分之前) ---
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

关键说明:

  • 规则顺序:必须把重定向规则放在WordPress默认规则的上方,否则WordPress的路由规则会先处理请求,导致重定向失效
  • 301重定向:使用R=301是永久重定向,对SEO友好;如果是测试阶段,可以临时改用R=302(临时重定向),确认正常后再改回301
  • 不区分大小写:[NC]标记让规则匹配.HTML、.Html等各种大小写组合的后缀
  • 路径保留:$1会捕获原始请求的完整路径,确保旧URL的层级结构(比如/gallery/first-galery.html)完整映射到子域名
  • HTTPS过滤:RewriteCond %{HTTPS} off确保只处理HTTP请求,符合旧站点未使用HTTPS的需求

注意事项:

  1. 将配置中的example.com替换为你的实际域名
  2. 确保服务器已经启用了mod_rewrite模块
  3. 测试时可以通过浏览器开发者工具的「网络」面板,查看请求的重定向状态码是否为301

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 02:50:08