请求修改.htaccess实现www域名跳转至HTTPS
.htaccess修改建议:解决www前缀访问无法跳转HTTPS问题
当前网站已实现HTTP到HTTPS的基础跳转,但使用www.gss2023.iisdindia.in访问时无法正常跳转至HTTPS且报错,现有.htaccess代码如下:
RewriteCond %{SERVER_PORT} 80 RewriteCond %{HTTP_HOST} ^(www\.)?gss2023.iisdindia\.in RewriteRule ^(.*)$ https://www.gss2023.iisdindia.in/$1 [R,L]
可行修改方案
方案一:合并强制HTTPS与域名统一跳转
RewriteEngine On # 强制HTTPS并统一至带www的域名 RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^gss2023.iisdindia\.in$ [NC] RewriteRule ^(.*)$ https://www.gss2023.iisdindia.in/$1 [R=301,L]
- 用
%{HTTPS} off判断HTTP请求,比SERVER_PORT更适配非标准端口的HTTPS配置 [OR]条件覆盖两种场景:HTTP请求、不带www的HTTPS请求R=301为永久重定向,利于搜索引擎收录,临时调试可改为R=302
方案二:分两步处理(逻辑更清晰)
RewriteEngine On # 第一步:将所有HTTP请求跳转至HTTPS RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] # 第二步:将不带www的HTTPS请求统一至带www版本 RewriteCond %{HTTP_HOST} ^gss2023.iisdindia\.in$ [NC] RewriteRule ^(.*)$ https://www.gss2023.iisdindia.in/$1 [R=301,L]
关键检查项
- 确保服务器已开启
mod_rewrite模块 - 网站根目录的
.htaccess文件需被服务器允许生效(虚拟主机配置中需设置AllowOverride All) - 若跳转仍报错,优先检查SSL证书是否包含
www.gss2023.iisdindia.in域名(需使用包含SAN扩展的证书)
内容的提问来源于stack exchange,提问作者Aniket Bhosale
相关产品推荐
相关产品推荐

