使用IIS 7.5的特定页面的HTTPS URL重写规则

使用IIS 7.5的特定页面的HTTPS URL重写规则,https,url-rewriting,iis-7.5,Https,Url Rewriting,Iis 7.5,我正在尝试在IIS7.5中重新编写URL,以重定向到HTTPS的“单个页面”。 域的其余部分应保持为HTTP 为此,我正在编辑Web.config文件。有人能告诉我我在做什么吗 以下规则中有错误: <system.webServer> <rewrite> <rules> <rule name="SpecificRedirect" stopProcessing="true">

我正在尝试在IIS7.5中重新编写URL,以重定向到HTTPS的“单个页面”。 域的其余部分应保持为HTTP

为此,我正在编辑Web.config文件。有人能告诉我我在做什么吗 以下规则中有错误:

<system.webServer>
    <rewrite>
        <rules>
            <rule name="SpecificRedirect" stopProcessing="true">
                <match url="^register.aspx$" />
                <action type="Redirect" url="https://mail.domain.org/register.aspx" />
            </rule>
        </rules>
    </rewrite>
  </system.webServer>

下面是我的URL重写模块在IIS 7.5中的样子


非常感谢。

我认为您已经非常接近了,但是您的重定向将导致无限循环。试试这个:

<rule name="SpecificRedirect" stopProcessing="true">
    <match url="^register.aspx$" />
    <conditions>
        <add input="{HTTPS}" pattern="^off$" />
    </conditions>
    <action type="Redirect" url="https://mail.domain.org/register.aspx" />
</rule>

让我知道如果你必须处理多个域,那么规则将需要更复杂的重写url


编辑:显然我们需要重定向而不是重写:)

这里有人有想法吗?或者,一个合适的链接?谢谢Tomek。我要试一试。还有一个问题-我是否需要在生产服务器上“启用”URL重写,或者Web.config中的代码是否包含所有需要执行的操作?好的,我刚刚尝试了上面的Web.config代码。我把它发布到我们的开发服务器上。仍然什么都没有-停留在HTTP。我想知道IIS中是否有我忽略的设置?请确保模块已安装。谢谢Tomek。我转到服务器并确认安装了URL重写。它不是IIS 7.5中的默认模块吗?如果不是,那么AWS必须在我创建的实例中安装它。无论如何,它是存在的,上面的规则不起作用。我已经做了一个URL重写UI的屏幕截图-也许你看到了一些我没有看到的东西?谢谢你们的帮助。我们需要301重定向,而不是重写,重写做它的工作服务器网站,而在这里显然我们希望浏览器点击https协议。