C# IIS web.config重定向//开发环境中的www和HTTPS
我有一个.NET MVC 5网站,目前我正在使用生产环境中的web配置强制使用https并将www更改为非www(具有有效证书)。这个很好用。我还有两个开发环境。这些环境设置了自签名证书,我想强制使用https,并在这些环境中将www更改为非wwwC# IIS web.config重定向//开发环境中的www和HTTPS,c#,asp.net-mvc,ssl,iis,C#,Asp.net Mvc,Ssl,Iis,我有一个.NET MVC 5网站,目前我正在使用生产环境中的web配置强制使用https并将www更改为非www(具有有效证书)。这个很好用。我还有两个开发环境。这些环境设置了自签名证书,我想强制使用https,并在这些环境中将www更改为非www <rewrite> <rules> <rule name="Redirect any HTTP request to HTTPS with no www" patternSyntax="ECMAScript"
<rewrite>
<rules>
<rule name="Redirect any HTTP request to HTTPS with no www" patternSyntax="ECMAScript" stopProcessing="true">
<match url=".*"></match>
<conditions >
<add input="{HTTP_HOST}" pattern="^(.*)?website.com$"></add>
<add input="{HTTPS}" pattern="off"></add>
</conditions>
<action type="Redirect" url="https://website.com/{R:0}" redirectType="Permanent" appendQueryString="true"></action>
</rule>
<rule name="Redirect https www to HTTPS with no www" patternSyntax="ECMAScript" stopProcessing="true">
<match url=".*"></match>
<conditions >
<add input="{HTTP_HOST}" pattern="^www.website.com$"></add>
<add input="{HTTPS}" pattern="on"></add>
</conditions>
<action type="Redirect" url="https://website.com/{R:0}" redirectType="Permanent" appendQueryString="true"></action>
</rule>
</rules>
</rewrite>
如果我有这个,我可以检查是否有人试图使用https或http
这没什么大不了的,但我已经花了太多的时间在上面了,哈哈!任何想法都很感谢!{CACHE\u URL}
变量包含完整的URL。你可以用该变量来构建条件,而不是{HTTPS}
。它应该是这样的:
相反:
<add input="{HTTPS}" pattern="off"></add>
使用:
而是:
<add input="{HTTPS}" pattern="on"></add>
使用:
谢谢!这太完美了……我发誓我试过了,但可能是缓存问题。重定向很烦人。
<add input="{HTTPS}" pattern="on"></add>
<add input="{CACHE_URL}" pattern="^https://" />