多域名HTTPS跳转的.htaccess Rewrite规则技术求助
嘿,我来帮你搞定这个双域名的HTTPS重定向问题!你的需求很明确——把两个域名的所有HTTP请求都精准重定向到各自带www的HTTPS版本,同时不影响不同域名展示对应语言的功能对吧?
下面给你一套完整的Apache mod_rewrite规则,直接放到你的.htaccess文件或者虚拟主机配置里就行:
# 开启重写引擎(必须放在最开头) RewriteEngine On # 处理 yogabox.de 的请求:强制HTTPS+WWW RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^yogabox\.de$ [NC] RewriteRule ^(.*)$ https://www.yogabox.de/$1 [R=301,L] # 处理 yogabox.co.uk 的请求:强制HTTPS+WWW RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^yogabox\.co\.uk$ [NC] RewriteRule ^(.*)$ https://www.yogabox.co.uk/$1 [R=301,L]
给你拆解下规则的逻辑:
RewriteEngine On:先开启重写功能,这是所有规则生效的前提- 第一个规则块:只要请求是HTTP(
%{HTTPS} off)或者是不带www的yogabox.de,就会被重定向到https://www.yogabox.de,还会保留原请求的路径($1就是原路径的内容) [NC]标记是不区分大小写,避免因为域名大小写导致匹配失败R=301是永久重定向,对SEO友好;如果刚开始测试怕出错,可以先改成R=302临时重定向,确认没问题再换回301L标记表示这条规则匹配后就停止执行后续规则,避免冲突
另外要注意两点:
- 确保你的Apache服务器已经启用了
mod_rewrite模块,要是没开的话得先在配置里开启 - 你的SSL证书要能覆盖这两个域名,比如用多域名证书或者通配符证书,不然HTTPS会报错
内容的提问来源于stack exchange,提问作者Astarot
相关产品推荐
相关产品推荐

