如何将非 www 域重定向到托管在 Azure 上的 asp.net mvc 中的 WWW 域?
How to redirect a non www domain to WWW domain in asp.net mvc hosted on Azure?
我已经在 www.mydomain.tech in Azure. (mydomain.tech is a sample url not my actual domain). When I enter the url www.mydomain.tech I don't get any errors because SSL is working fine. When I go to mydomain.tech directly I get DLG_FLAGS_SEC_CERT_CN_INVALID error. I need to transfer any request which comes to mydomain.tech to www.mydomain.tech 上设置了 ssl 我在 Web.Config 文件中使用以下代码进行传输。它不工作。我的 Url 模式是错误的还是我需要在 azure 中进行任何其他更改以反映我的 Web.Config 更改?请建议。
PS - 我在应用 Web.config 中的更改后重新启动了 Azure 机器。
<rule name="Redirect mydomain.com to www.mydomain.com" patternSyntax="ECMAScript" stopProcessing="true">
<match url=".*"></match>
<conditions>
<add input="{HTTP_HOST}" pattern="^mydomain.tech$"></add>
<add input="{HTTPS}" pattern="off"></add>
</conditions>
<action type="Redirect" url="https://www.mydomain.tech/{R:0}" redirectType="Permanent" appendQueryString="true"></action>
</rule>
查看 Ray 的这篇文章:3 Ways to Redirect HTTP to HTTPS and non-www to www in ASP.NET Core
您可能会注意到 Startup.cs
文件中缺少以下代码:
app.UseRewriter(new RewriteOptions()
.AddIISUrlRewrite(env.ContentRootFileProvider, "XML_FILE_NAME")
.AddRedirectToHttps()
);
如果这对您不起作用,您还可以尝试其他两种替代方法中的任何一种。
我必须使用免费的 SSL 提供程序(免费的 SSL)为两个域创建一个单独的 pfx 文件,并且必须为两个域添加绑定以使其工作。还必须强制 azure 仅使用 HTTPS。这对我有用。
我已经在 www.mydomain.tech in Azure. (mydomain.tech is a sample url not my actual domain). When I enter the url www.mydomain.tech I don't get any errors because SSL is working fine. When I go to mydomain.tech directly I get DLG_FLAGS_SEC_CERT_CN_INVALID error. I need to transfer any request which comes to mydomain.tech to www.mydomain.tech 上设置了 ssl 我在 Web.Config 文件中使用以下代码进行传输。它不工作。我的 Url 模式是错误的还是我需要在 azure 中进行任何其他更改以反映我的 Web.Config 更改?请建议。 PS - 我在应用 Web.config 中的更改后重新启动了 Azure 机器。
<rule name="Redirect mydomain.com to www.mydomain.com" patternSyntax="ECMAScript" stopProcessing="true">
<match url=".*"></match>
<conditions>
<add input="{HTTP_HOST}" pattern="^mydomain.tech$"></add>
<add input="{HTTPS}" pattern="off"></add>
</conditions>
<action type="Redirect" url="https://www.mydomain.tech/{R:0}" redirectType="Permanent" appendQueryString="true"></action>
</rule>
查看 Ray 的这篇文章:3 Ways to Redirect HTTP to HTTPS and non-www to www in ASP.NET Core
您可能会注意到 Startup.cs
文件中缺少以下代码:
app.UseRewriter(new RewriteOptions()
.AddIISUrlRewrite(env.ContentRootFileProvider, "XML_FILE_NAME")
.AddRedirectToHttps()
);
如果这对您不起作用,您还可以尝试其他两种替代方法中的任何一种。
我必须使用免费的 SSL 提供程序(免费的 SSL)为两个域创建一个单独的 pfx 文件,并且必须为两个域添加绑定以使其工作。还必须强制 azure 仅使用 HTTPS。这对我有用。