AWS Lightsail中www转非www重定向求助(.htaccess无效)
解决www到非www域名的301重定向问题
你之前的.htaccess代码存在几处错误,导致重定向未生效:
- 指令错误:
RewriteEngine Enabled应为RewriteEngine On,这是Apache mod_rewrite的正确启用方式 - 顺序颠倒:Apache的重写规则是先判断
RewriteCond条件,再执行对应的RewriteRule,你把两者顺序搞反了 - 正则错误:
%{HTTP_HOST} ^example.com/$1的写法不符合规则,$1是RewriteRule的捕获组,不能用在RewriteCond中
下面是正确的.htaccess配置代码,可实现所有www域名流量跳转到非www域名:
RewriteEngine On # 匹配www开头的域名,忽略大小写 RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] # 重定向到非www域名,保留原请求路径 RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
注意事项:
- 将代码中的
example.com替换为你实际使用的域名 - 确保Apache服务器已启用
mod_rewrite模块 - 检查.htaccess文件权限设置为644,保证服务器能读取该文件
- 确认Apache站点配置中,对应网站目录的
AllowOverride已设置为All,允许.htaccess生效 - 测试前清空浏览器缓存,避免旧的重定向缓存影响结果
内容的提问来源于stack exchange,提问作者yaiza
相关产品推荐
相关产品推荐

