如何通过.htaccess将全站(含HTTP/HTTPS及子域名)重定向至其他网址
实现全站(含子域名/所有路径)重定向到指定域名的.htaccess配置
没问题,这可以通过Apache的.htaccess文件轻松实现,以下是满足你需求的完整配置和细节说明:
前提条件
- 确保你的Apache服务器已经启用了
mod_rewrite模块 - 主机的Apache配置中,对应网站的目录已设置
AllowOverride All(允许.htaccess文件生效)
完整.htaccess代码
RewriteEngine On # 匹配任何主机名(包括主域名和所有子域名) RewriteCond %{HTTP_HOST} ^(.*)$ # 匹配任何请求路径 RewriteCond %{REQUEST_URI} ^(.*)$ # 永久重定向到目标域名 RewriteRule ^(.*)$ https://www.yahoo.com [R=301,L]
代码逐行解释
RewriteEngine On:开启Apache的URL重写引擎,这是所有重写规则生效的基础RewriteCond %{HTTP_HOST} ^(.*)$:匹配任意访问主机名,覆盖主域名、所有子域名(比如mail.google.com、drive.google.com等)RewriteCond %{REQUEST_URI} ^(.*)$:匹配任意请求路径,不管是网站根目录还是深层页面(比如/search?q=test、/images等)RewriteRule ^(.*)$ https://www.yahoo.com [R=301,L]:R=301:设置为永久重定向,有利于搜索引擎收录,同时浏览器会缓存该重定向规则,提升后续访问效率L:标记为最后一条规则,匹配后立即停止后续重写规则的执行,避免冗余处理
额外说明
- 如果只是需要临时重定向(比如测试阶段),可以把
R=301改成R=302 - 请把这个
.htaccess文件放在你的网站根目录下,这样所有子目录和子域名的请求都会被统一处理
内容的提问来源于stack exchange,提问作者Fernando Torres
相关产品推荐
相关产品推荐

