gpt4 book ai didi

iis-7 - IIS 7.5 URL 重写 - 从 URL 重写文件夹

转载 作者:行者123 更新时间:2023-12-04 01:52:16 25 4
gpt4 key购买 nike

我使用 IIS 7.5 和 URL 重写。

我有一个具有以下文件层次结构的网站:

webroot
webroot/LegacySite

webroot/和 legacy/都是 IIS 中的独立应用程序文件夹。

我需要重写我的网址:
  • 如果请求是 http://mysite.co/LegacySite/page.aspx URL 将被改写为 http://mysite.co/page.aspx

  • 下面是我的 Web.Conf (在 webroot 文件夹中)不能正常工作,你能指出我缺少什么吗?
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    <system.webServer>
    <rewrite>
    <rules>
    <rule name="MyRole" stopProcessing="true">
    <match url=".*" />
    <conditions>
    <add input="{HTTP_HOST}" pattern="^mysite.com" />
    <add input="{PATH_INFO}" pattern="^\LegacySite\" negate="true" />
    </conditions>
    <action type="Rewrite" url="\LegacySite\{R:0}" />
    </rule>
    </rules>
    </rewrite>
    </system.webServer>
    </configuration>

    最佳答案

    以下应该有效:

    <rule name="MyRole" stopProcessing="true">
    <match url="LegacySite/(.*)" />
    <conditions>
    <add input="{HTTP_HOST}" pattern="^mysite.com$" />
    </conditions>
    <action type="Rewrite" url="/{R:1}" appendQueryString="true" />
    </rule>

    您可能希望删除检查主机名的条件。这真的很重要吗?您是否有任何其他域名绑定(bind)到您不希望发生重定向的该网站?似乎没有必要。您可能只需要:
    <rule name="MyRole" stopProcessing="true">
    <match url="LegacySite/(.*)" />
    <action type="Rewrite" url="/{R:1}" appendQueryString="true" />
    </rule>

    我已添加 appendQueryString="true"将任何(可选)查询字符串参数传递给重写的 URL。

    关于iis-7 - IIS 7.5 URL 重写 - 从 URL 重写文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10615572/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com