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

如何用.htaccess为Angular 5网站实现强制SSL及www域名跳转?

实现Angular 5网站强制SSL+WWW域名跳转的.htaccess配置方案

我来帮你搞定这个配置!要让所有域名变体(比如http://example.com、example.com、http://www.example.com等)都强制跳转到https://www.example.com,同时不影响Angular路由的正常工作,你只需要把SSL和域名重定向规则放在原有Angular路由规则的前面即可——因为Apache的Rewrite规则是从上到下匹配执行的,先完成重定向再处理Angular的单页路由。

下面是完整的.htaccess配置代码:

RewriteEngine on

# 强制跳转至HTTPS + www域名
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

# Angular路由规则(保留原有逻辑)
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.html [NC,L]

关键规则说明:

  • RewriteCond %{HTTPS} off [OR]:判断当前请求是否为HTTP(非HTTPS)
  • RewriteCond %{HTTP_HOST} !^www\.example\.com$:判断当前访问的域名是否不是www.example.com(注意域名里的.要加反斜杠转义)
  • RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]:满足上面任一条件时,将请求永久重定向(R=301,对SEO友好)到https://www.example.com,并保留原请求路径($1捕获的内容);L表示停止执行后续规则,避免和Angular路由冲突

注意事项:

  1. 请把配置中的example.com替换成你自己的实际域名
  2. 确保你的服务器已经配置好了SSL证书,否则HTTPS访问会报错
  3. 如果测试时跳转不生效,可以尝试清空浏览器缓存(因为301重定向会被浏览器缓存)

内容的提问来源于stack exchange,提问作者Gaurav Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:54:05