如何在DigitalOcean中将所有非www前缀的流量重定向到www域名
你的现有重定向规则逻辑本身没有问题,没有生效通常是配置之外的环节或者规则兼容性问题,可以按以下步骤排查优化:
- 第一步先确认Apache基础配置正常
确保服务器已开启mod_rewrite模块,同时对应站点的虚拟主机配置中AllowOverride参数设置为All,如果该参数为None,.htaccess文件会完全不生效。 - 第二步可以优化重定向规则,避免多域名绑定场景下误跳转
你现有规则会给所有不带www的绑定域名都自动加www前缀,如果你只需要处理example.com的跳转,可以直接写死目标域名,规则更稳妥:RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.com$ [NC] RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L] - 第三步排查301永久重定向缓存问题
301重定向会被浏览器长期缓存,之前测试时的错误结果可能被缓存到本地,调整规则后需要清空浏览器缓存、用无痕模式访问,或者通过curl命令直接测试请求头,才能验证最新规则是否生效。 - 第四步排查规则冲突
确认服务器虚拟主机配置、站点安装的CMS/框架自带的重定向功能没有和.htaccess规则冲突,优先级更高的规则会覆盖.htaccess里的配置。
内容的提问来源于stack exchange,提问作者willmahoney
相关产品推荐
相关产品推荐

