Ubuntu上Laravel项目问题:www域名无法重定向至非www域名
问题解决步骤
首先明确:你在.htaccess添加的规则无效,因为Nginx默认不解析Apache的.htaccess文件,Laravel在Nginx环境下直接通过Nginx配置规则处理即可。
你的核心问题是Nginx配置未处理www.example.ca的请求,导致访问该域名时匹配到Nginx默认的server块,显示默认欢迎页。以下是两种解决方式:
方式一:让www域名直接指向Laravel项目
修改你的Nginx站点配置文件(/etc/nginx/sites-available/example.ca),将server_name行修改为包含www域名:
server_name example.ca www.example.ca;
方式二:将www域名301重定向到主域名(推荐,利于SEO)
在原配置文件末尾添加一个独立的server块,专门处理www域名的请求并跳转至主域名:
server { listen 80; listen [::]:80; server_name www.example.ca; return 301 $scheme://example.ca$request_uri; }
后续操作
- 保存配置文件后,先验证Nginx配置是否合法:
sudo nginx -t
- 若输出
test is successful,重启Nginx使配置生效:
sudo systemctl restart nginx
额外检查:确认GoDaddy的DNS设置中,www的A记录已指向你的EC2服务器IP(你提到已设置A记录,大概率已完成,但如果问题仍存在可核对这一项)。
内容的提问来源于stack exchange,提问作者user761100
相关产品推荐
相关产品推荐

