【问题标题】:Redirect from www to non-www with exceptions从 www 重定向到非 www 有例外
【发布时间】:2019-07-31 00:06:48
【问题描述】:

我想使用 IIS URL-Rewrite 模块创建规则。我想将所有页面从 www.mydomain.com 重定向到 mydomain.com

但是,网站上的某些页面我不喜欢重定向。这些页面是

  1. www.mydomain.com/mail/default.asp
  2. www.mydomain.com/mail2/default.aspx

到目前为止,这是我的代码

                <rule name="Force non-WWW" enabled="true" stopProcessing="true">
                <match url="(.*)" />
                <conditions>
                    <add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" />
                    <add input="{REQUEST_URI}" pattern="^/mail/(.*)" negate="true" />
                    <add input="{REQUEST_URI}" pattern="^/mail2/(.*)" negate="true" />
                </conditions>
                <action type="Redirect" url="https://{C:2}/{R:1}" />
            </rule>

但是,如果我启用此规则并转到 www.mydomain.com/page,则会收到 500 错误。

我的代码有什么问题?

【问题讨论】:

标签: iis url-rewriting url-redirection


【解决方案1】:

只需添加条件&lt;add input="{REQUEST_URI}" pattern="/some-url/(.*)" negate="true" /&gt;。您可以使用以下规则:

 <rule name="Force non-WWW" enabled="true" stopProcessing="true">
                <match url="(.*)" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    <add input="{REQUEST_URI}" pattern="/mail/(.*)" negate="true" />
                    <add input="{HTTP_HOST}" pattern="(www\.)(.*)$" />
                </conditions>
                <action type="Redirect" url="http://{C:2}/{R:1}" appendQueryString="true" />
            </rule>

问候, 贾尔帕。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 2010-11-09
    • 2017-10-07
    • 1970-01-01
    相关资源
    最近更新 更多