AWS Lightsail自定义域名无尾斜杠跳转EC2 URL问题求助
解决Lightsail LAMP环境下无尾斜杠URL重定向到EC2域名的问题
问题根源
访问无尾斜杠的目录URL时,Apache的mod_dir模块会自动发起重定向,引导浏览器跳转到带尾斜杠的版本(以便正确加载目录下的index.html)。如果Apache配置中的ServerName/ServerAlias未正确指向自定义域名,或Lightsail Distribution未处理好重定向的域名替换逻辑,Apache就会使用实例底层的EC2默认域名作为重定向目标。
解决步骤
1. 修正Apache站点配置
- 登录Lightsail实例,找到Apache站点配置文件(通常位于
/etc/apache2/sites-available/目录,比如000-default.conf或自定义配置文件) - 编辑配置文件,确保
ServerName和ServerAlias设置为你的自定义域名:<VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/html # 保留原有其他配置 </VirtualHost> - 确认
DirectorySlash处于开启状态(默认开启,这是触发重定向的正常机制,需配合正确域名配置),若之前被修改为Off,改回On:<Directory /var/www/html> DirectorySlash On # 保留原有其他配置 </Directory> - 保存配置后重启Apache服务:
sudo systemctl restart apache2
2. 检查Lightsail Distribution设置
- 登录Lightsail控制台,进入目标Distribution管理页面
- 查看缓存行为设置,确保所有路径的行为中,
转发HTTP headers包含Host头,且设置为「转发查看器请求中的Host头」或直接指定你的自定义域名 - 确认自定义域名配置已正确绑定
example.com和www.example.com,且SSL证书有效 - 若开启了强制HTTPS重定向,检查规则是否指向自定义域名,而非底层EC2域名
3. 验证修复
- 清除浏览器缓存,或用curl命令测试:
curl -I https://example.com/hoge - 查看返回的
Location头,确认目标是https://example.com/hoge/而非EC2域名
内容的提问来源于stack exchange,提问作者A2C
相关产品推荐
相关产品推荐

