iis8为https多个应用程序重写Web配置

时间:2015-05-12 18:27:07

标签: web-config rewrite url-redirection iis-8 url-rewrite-module

一直在努力解决这个问题,无法让它发挥作用。在网上找不到任何答案。

我在根(www.example.com)和应用程序(www.example.com/APP_SSL)中尝试过web.config

基本上,我有一台带有多个网站的iis 8服务器。

对于一个特定的网站。 (比如example.com)我希望子订单始终重定向到https。具体来说,这些子文件夹是Applications。

我也在尝试重定向example.com - > www.example.com同时。

这是我想要完成的事情:(对不起,如果我太详细了)

example.com/APP_SSL/... -> httpS://www.example.com/APP_SSL/...
www.example.com/APP_SSL/... -> httpS://www.example.com/APP_SSL/...

但是对于其他文件和应用程序,请确保我们有www部分。 只要以上工作,我就可以没有这些东西。

example.com ->  http://www.example.com  
www.example.com -> http://www.example.com  (yes I know this is always true)
example.com/file.htm  -> http:/www.example.com/file.htm
www.example.com/file.htm  -> http:/www.example.com/file.htm

example.com/APP/ -> http://www.example.com/APP/...
www.example.com/APP/ -> http://www.example.com/APP/...

我试过这个,但它确实没有做我想做的任何事情。

<rewrite>
<rules>
<rule name="Redirect to www" stopProcessing="true">
<match url="(.*)" />
<conditions trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^example.com/APP_SSL$" />
</conditions>
<action type="Redirect" url="{MapProtocol:{HTTPS}}://www.example.com/APP_SSL/{R:1}" />
</rule>
</rules>
<rewriteMaps>
<rewriteMap name="MapProtocol">
<add key="on" value="https" />
<add key="off" value="http" />
</rewriteMap>
</rewriteMaps>
</rewrite>

把它放在我的/APP_SSL/Web.Config中,除了example.com之外,我得到了我想要的大部分内容 - &gt; www.example.com

<rewrite>
<rules>
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/APP_SSL/{R:0}" redirectType="SeeOther" />
</rule>
</rules>
<rewriteMaps>
<rewriteMap name="MapProtocol">
<add key="on" value="https" />
<add key="off" value="http" />
</rewriteMap>
</rewriteMaps>
</rewrite>

0 个答案:

没有答案