我有一个iis重写模块的问题。我在谷歌上搜索了太多,但我的问题仍然存在。
我有两个重写规则,第一个将任何http请求重定向到https等价物,第二个将一些特定页面重定向到另一个页面。
http请求成功地重定向到https,但是第二条规则不能正常工作。
<rewrite>
<rules>
<rule name="redirect special page" stopProcessing="true">
<match url="(.*)MySite.com/accountTransactions" />
<action type="Redirect" url="MySite.com/404.html" />
</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>
</rewrite>我使用的是IIS8,windows server 2012 R2。
出什么事了?
发布于 2015-04-28 14:25:49
match url不应包含域名,而应包含路径
<match url="^accountTransactions" />请参阅http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference
如果您需要匹配特定域名下的路径(当您的站点有多个域名时),则应为{HTTP_HOST}添加条件
<conditions>
<add input="{HTTP_HOST}" type="Pattern" pattern="^www\.mysite\.com$">
</conditions>https://stackoverflow.com/questions/29910419
复制相似问题