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

如何启用SSL并排除特定目录、子域名,同时规范化域名至www

解决方案:域名规范化+SSL例外配置

我来帮你整理出正确的.htaccess配置,完美实现你要的域名规范化(domain.com→www.domain.com)+ SSL启用但排除指定目录/页面的需求:

RewriteEngine On

# 1. 统一域名:将所有非www请求跳转到www版本(保留当前协议)
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|off
RewriteRule ^ https%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# 2. 强制HTTPS:除了/PHP/目录和noSSL.htm,其他所有路径都跳转到HTTPS
RewriteCond %{SERVER_PORT} !=443
RewriteCond %{REQUEST_URI} !^/PHP/ [NC]
RewriteCond %{REQUEST_URI} !^/noSSL\.htm$ [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# 3. 例外路径处理:如果通过HTTPS访问/PHP/或noSSL.htm,跳回HTTP
RewriteCond %{SERVER_PORT} =443
RewriteCond %{REQUEST_URI} ^/PHP/ [NC,OR]
RewriteCond %{REQUEST_URI} ^/noSSL\.htm$ [NC]
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

配置说明

  • 域名统一规则:不管用户用http://domain.com还是https://domain.com访问,都会先跳转到对应的www版本,确保所有流量都集中在www.domain.com这个主域名上。
  • SSL强制规则:只有当请求是HTTP,且路径不在/PHP/目录下、也不是noSSL.htm时,才会强制跳转到HTTPS,保证大部分页面都使用加密连接。
  • 例外回退规则:如果用户不小心通过HTTPS访问了/PHP/或noSSL.htm,会自动跳回HTTP,严格遵循你“不对这些路径启用SSL”的要求。

注意事项

  • 测试阶段可以把R=301改成R=302(临时重定向),确认配置没问题后再改回301(永久重定向,对SEO更友好)。
  • 确保你的服务器已经配置好www.domain.com的有效SSL证书,否则HTTPS跳转会触发浏览器安全警告。
  • 规则顺序不能乱:必须先统一域名,再处理SSL相关的跳转,避免出现循环跳转或错误的地址指向。
  • [NC]标志让规则不区分大小写,所以/php/和/PHP/、nossl.htm和noSSL.htm都会被正确匹配,适配不同的访问习惯。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:18:15