如何将example.org及子页面301重定向至example.com?
解决静态站带.html页面301重定向到WordPress站(移除后缀)的问题
原规则失效原因
你当前使用的规则里,RewriteRule的匹配模式开头加了^/,但在.htaccess文件中,RewriteRule的匹配路径是相对当前目录的,不带前导斜杠,这个多余的前导斜杠会导致规则匹配不到任何请求,这就是规则失效的核心问题。
正确的.htaccess配置规则
替换成以下规则即可实现需求:
RewriteEngine On # 匹配所有带.html后缀的页面,重定向到目标域名下不带后缀的对应页面 RewriteRule ^(.+)\.html$ https://example.com/$1 [R=301,L]
额外注意事项
- 确保服务器已启用
mod_rewrite模块(Apache服务器默认通常开启,若未开启需联系主机商或自行配置) - 301是永久重定向,浏览器会缓存该规则,测试前建议清空浏览器缓存或使用无痕模式,避免旧缓存干扰结果
- 如果需要将原站点根目录(
example.org/)也重定向到example.com/,可额外添加这条规则:RewriteRule ^$ https://example.com/ [R=301,L]
内容的提问来源于stack exchange,提问作者Bariock
相关产品推荐
相关产品推荐

