IIS URL 重写不适用于复杂的 URL

IIS URL 重写不适用于复杂的 URL

我有 2 条 URL 重定向规则:

    <rewrite>
        <rules>
            <clear />
            <rule name="al - helyek/al (kieg)" enabled="true" stopProcessing="true">
                <match url="^test1/al/(.*)RootFolder=%2Ftest1(.*)" />
                <action type="Redirect" url="helyek/al/{R:1}RootFolder=%2Fhelyek{R:2}" />
            </rule>
            <rule name="al - helyek/al" enabled="true" stopProcessing="true">
                <match url="^test1/al/(.*)" />
                <action type="Redirect" url="helyek/al/{R:1}" />
            </rule>
        </rules>
    </rewrite>

但是第一个不起作用,只有第二个才起作用。

测试网址:http://test:29001/test1/al/Megosztott%20dokumentumok/Forms/AllItems.aspx?RootFolder=%2Ftest1%2Fal%2FMegosztott%20dokumentumok%2FTeszt&FolderCTID=0x01200077BA4D1F1CDCF3498096871FD748FB37&View=%7B70C95A37%2D4FE1%2D4A60%2DA100%2D61E529A1DB56%7D

这是一个 SharePoint 网站集。

可能是什么问题呢?

预先感谢您的帮助。

答案1

我找到了正确的重定向:

<rule name="WEBHELY - helyek/WEBHELY (RootFolder)" stopProcessing="true">
    <match url="^WEBHELY/(.*)" />
    <conditions>
        <add input="{QUERY_STRING}" pattern="(.*)?RootFolder=%2FWEBHELY(.*)" />
    </conditions>
    <action type="Redirect" url="helyek/WEBHELY/{R:1}?RootFolder=%2Fhelyek%2FWEBHELY{C:2}" appendQueryString="false" />
</rule>
<rule name="WEBHELY - helyek/WEBHELY" stopProcessing="true">
    <match url="^WEBHELY/(.*)" />
    <action type="Redirect" url="helyek/WEBHELY/{R:1}" />
</rule>

相关内容