我想弄清楚为什么下面的代码不起作用。 这是我的web.config文件的副本:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <httpRedirect enabled="false" destination="https://" exactDestination="false" /> <rewrite> <rules> <rule name="server.child.domain.lcl redirect." patternSyntax="Wildcard" stopProcessing="true"> <match url="*server.child.domain.lcl/*" /> <action type="Redirect" url="https://server.child.org/application" /> </rule> <rule name="HTTP to HTTPS redirect" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> </conditions> <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" /> </rule> </rules> <rewriteMaps> <rewriteMap name="StaticRedirects" /> </rewriteMaps> </rewrite> </system.webServer> </configuration> <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <httpRedirect enabled="false" destination="https://" exactDestination="false" /> <rewrite> <rules> <rule name="Domain redirect." patternSyntax="Wildcard" stopProcessing="true"> <match url="*Server.child.domain.lcl/*" /> <action type="Redirect" url="https://server.domain.org/application" /> </rule> <rule name="HTTP to HTTPS redirect" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> </conditions> <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" /> </rule> </rules> <rewriteMaps> <rewriteMap name="StaticRedirects" /> </rewriteMaps> </rewrite> </system.webServer> </configuration>
第一条规则应该是从本地域名redirect到公有域名。 这是在为公用域名安装证书的同一台服务器上。
如果有人试图访问没有SSL的网站,第二条规则应该从HTTPredirect到HTTPS。
这些似乎都没有工作。 我已经尝试了几次迭代,但似乎没有任何工作。 有人能帮我吗?