如何在Angular项目中通过.htaccess将非www域名重定向到www域名
解决Angular站点非www域名重定向到www的.htaccess配置方案
你的现有.htaccess仅处理了Angular单页应用的路由逻辑(将非文件/目录请求导向index.html),但缺少非www到www的重定向规则。只需在现有规则前添加重定向逻辑即可实现需求,完整配置如下:
RewriteEngine on # 非www重定向到www(永久重定向,利于SEO) RewriteCond %{HTTP_HOST} ^example\.com$ [NC] RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L] # Angular SPA路由规则(保留原有逻辑) RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^(.*) /index.html [NC,L]
关键说明:
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]:匹配所有访问example.com的请求(NC表示忽略大小写)RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]:将请求永久重定向到www.example.com,并保留原请求路径($1对应匹配到的路径部分);R=301是永久重定向,适合SEO优化,若需临时重定向可改为R=302- 重定向规则必须放在Angular路由规则之前,因为
L标志会终止后续规则的执行,确保重定向逻辑优先触发
内容的提问来源于stack exchange,提问作者Muhammad Umar
相关产品推荐
相关产品推荐

