Asp.net 将Azure网站中的非WWW重定向到WWW
我有一个Godaddy的域名,还有一个Azure网站基础设施上的网站。我想要实现的是只使用我的域名的www版本。如果用户在浏览器中输入“example.com”,我希望他们被重定向到“www.example.com”Asp.net 将Azure网站中的非WWW重定向到WWW,asp.net,redirect,azure,Asp.net,Redirect,Azure,我有一个Godaddy的域名,还有一个Azure网站基础设施上的网站。我想要实现的是只使用我的域名的www版本。如果用户在浏览器中输入“example.com”,我希望他们被重定向到“www.example.com” 该网站正在托管一个ASP.NETMVC5应用程序,如果这有区别的话。如何配置此代码?将此代码添加到部分下 <rewrite> <rules> <rule name="Redirect to www"> <match url=".*" /
该网站正在托管一个ASP.NETMVC5应用程序,如果这有区别的话。如何配置此代码?将此代码添加到
部分下
<rewrite>
<rules>
<rule name="Redirect to www">
<match url=".*" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" negate="true" />
</conditions>
<action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" redirectType="Permanent"/>
</rule>
</rules>
</rewrite>
如果您想要真正的重定向(即当用户键入
example.com
时,浏览器中的地址会自动更改为www.example.com
),那么您有两个选项:
example.com
指向一个GoDaddy IP,该IP会重定向到www.example.com
www.example.com
example.com
的用户获得与键入www.example.com
的用户相同的内容,并且您不介意人们在地址栏中看到没有www的example.com
,请按以下步骤进行:
@
,并将“指向”设置为步骤1中找到的IPawverify
,并将“指向”设置为azure网站的地址,前缀为awverify
(例如awverify.mywebsite.azurewebsites.net
)www
,并将“指向”设置为azure网站的地址(例如mywebsite.azurewebsites.net
)example.com
和www.example.com
添加到域名列表中这里的更多信息:我不喜欢使用negate=true的一般MatchAll,我更喜欢只捕获裸域并在匹配时重定向。这对Azure很有效,因为我只对单个域感兴趣,然后我就不必为localhost、localtest.me、子域等编写大量排除项 以下是规则…只需将模式中的
示例更改为您的域:
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect To WWW" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^example\.com$" />
</conditions>
<action type="Redirect" url="http://www.{HTTP_HOST}{URL}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
在ASP.NET核心MVC中,将其添加到Startup.cs
Configure()
方法中
app.UseRewriter(new RewriteOptions()
// redirect non www to www.
.AddRedirectToWwwPermanent()
// While we are at it, let's also redirect http to https.
.AddRedirectToHttpsPermanent()
);
这不是特定于azure网站的。请查找有关在IIS上将裸域重定向到www的问题,如。@SimonOpelt谢谢。我是web技术新手,不知道我不知道什么。非常感谢,我会尝试一下。这只是一个临时的302重定向吗?使用web.config中的规则进行perm 301重定向会更好或者SEO。你会怎么做?@EthanTowne我正在使用Azure网站的重写模块。除了修改web.config之外,不需要任何配置。这实际上不起作用。正确的结构是
。你缺少
元素。如果你将代码添加到web.config,你将在什么情况下破坏你的网站e是否应该添加此项?它将被添加到web.config的第节中。首先,请确保在服务器上正确安装了URLEwrite模块。谢谢,这在使用Uniregistry的Azure上运行得非常好。不清楚“添加子域”是什么意思在Azure说明中,但您的“awverify”示例澄清了这一点。我有一个覆盖两个域的SSL证书,但其中一个未解析。这应该是Azure网站的公认答案。