IIS 7.5 中的重定向 URL

发布于 2024-12-21 00:57:26 字数 328 浏览 0 评论 0原文

我想通过 IIS 重写引擎将所有 www 域裸露。有许多域指向同一个应用程序。

这是我的规则:

^(www.)(.*)$

操作类型:重定向 重定向网址:{R:2} 重定向类型:永久

当我测试 www.xxx.com 模式时

R:0 => www.stackoverflow.com R:1=>万维网。 R:2=> www.stackoverflow.com

就可以了。 怎么了?我还应该包括“http://”吗?

I want to all www domain to naked via IIS Rewrite engine. There are many domains pointing to same application.

Here is my rule :

^(www.)(.*)$

Action Type : Redirect
Redirect URL : {R:2}
Redirect Type : Permanent

When i test pattern for www.xxx.com

R:0 => www.stackoverflow.com R:1=> www. R:2 => www.stackoverflow.com

and that is fine.
What is wrong? And also should I include "http://" ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鸠魁 2024-12-28 00:57:26

类似 ^(www\.)(.+)$ 的内容在匹配 http_host 时应该有效,但最好指定域。根据我对 IIS 的了解(不多)以及它在网上的说法,类似于:

<rewrite>
    <rules>
        <rule name="Redirect www.xxx.com to xxx.com" patternSyntax="ECMAScript" stopProcessing="true">
            <match url=".*" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^www\.domain\.com$" />
            </conditions>
            <action type="Redirect" url="http://domain.com/{R:0}" />
        </rule>
    </rules>
</rewrite>

哦,你说的是任何域。如果你想确保它以 .com 结尾,它应该类似于

^(www\.)(.+)(\.com)$ 与 HTTP_HOST

.. 哦,如果你这样做,你需要反向引用,所以尝试像这样的:

<rewrite>
    <rules>
        <rule name="Redirect www.domain.com to domain.com" patternSyntax="ECMAScript" stopProcessing="true">
            <match url=".*" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^www\.(.+)$" />
            </conditions>
            <action type="Redirect" url="http://{C:1}/{R:0}" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

c:1 是反向引用

Something like ^(www\.)(.+)$ should work when matching the http_host, but it might be better to specify the domain. From what I know of IIS (not much) and what it says on the net, something like:

<rewrite>
    <rules>
        <rule name="Redirect www.xxx.com to xxx.com" patternSyntax="ECMAScript" stopProcessing="true">
            <match url=".*" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^www\.domain\.com$" />
            </conditions>
            <action type="Redirect" url="http://domain.com/{R:0}" />
        </rule>
    </rules>
</rewrite>

Oh, you said for any domain. If you want to make sure it ends in .com it should be something like

^(www\.)(.+)(\.com)$ against HTTP_HOST

.. oh, if you do that you need to back reference, so try something like this:

<rewrite>
    <rules>
        <rule name="Redirect www.domain.com to domain.com" patternSyntax="ECMAScript" stopProcessing="true">
            <match url=".*" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^www\.(.+)$" />
            </conditions>
            <action type="Redirect" url="http://{C:1}/{R:0}" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

The c:1 is a back reference

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文