Azure Web App通过GoDaddy将www域名重定向至非www域名失败求助
解决Azure Web App从www到非www的重定向问题
你目前的DNS和Azure域名、SSL配置已经做对了大半,没生效的核心原因是Azure Web App不会自动完成域名跳转,需要手动配置重定向规则。下面分几种场景给你具体操作步骤:
一、通过Azure门户快速配置(适合支持内置重定向的应用栈,如ASP.NET、ASP.NET Core)
- 登录Azure门户,进入你的Web App资源
- 在左侧导航栏找到「配置」→「常规设置」
- 向下滚动到「重定向」区域:
- 启用「重定向」开关
- 「重定向类型」选择永久(301)(对SEO更友好,临时跳转需求可选302)
- 「重定向目标」选择「www到非www」
- 勾选「保留尾随路径」和「保留查询字符串」(根据业务需求调整,一般建议勾选)
- 点击页面顶部的「保存」,等待1-5分钟让配置生效
二、手动添加URL重写规则(适合所有应用栈,比如Go、Node.js、Python等)
如果你的应用栈不支持Azure内置重定向功能,可以通过配置文件手动实现:
情况1:Windows环境(基于IIS)
在Web App根目录创建或修改web.config文件,添加以下重写规则:
<configuration> <system.webServer> <rewrite> <rules> <rule name="Redirect WWW to Non-WWW" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTP_HOST}" pattern="^www\.website\.com$" /> </conditions> <action type="Redirect" url="https://website.com/{R:1}" redirectType="Permanent" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
情况2:Linux环境
- Apache服务器:在根目录创建
.htaccess文件,添加:
RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.website\.com$ [NC] RewriteRule ^(.*)$ https://website.com/$1 [L,R=301]
- Nginx服务器:先在Azure门户「配置」→「应用程序设置」中添加
WEBSITE_RUN_FROM_PACKAGE并设为0,然后在/home/site/nginx目录下修改配置文件,添加:
server { listen 80; server_name www.website.com; return 301 https://website.com$request_uri; }
修改完成后重启Web App生效
三、额外检查项
- 确认SSL绑定完整性:在Azure门户「自定义域名」→「TLS/SSL设置」中,确保
www.website.com和website.com都绑定了有效SSL证书,且「HTTPS仅」设置为「开启」(避免HTTP访问的跳转异常) - 清除浏览器缓存:旧的跳转规则可能被浏览器缓存,测试前请清除缓存或使用隐身模式访问
- 验证DNS传播:虽然你能正常访问www域名,但可以确认DNS记录是否完全生效(大概率无问题,仅作兜底检查)
按照上面的步骤操作后,就能实现www.website.com自动重定向到website.com了。
内容的提问来源于stack exchange,提问作者Giorgia Sambrotta
相关产品推荐
相关产品推荐

