Как использовать web.config для перезаписи правила перенаправления для файла с тем же именем, но с другим расширением? - PullRequest
0 голосов
/ 02 июля 2019

У меня есть существующий файл web.config для перенаправления страницы с названием privacy.asp на конфиденциальность (без расширения .asp). Работает как надо.

Теперь у меня есть клиент, у которого есть файл privacy.html, и я хочу отправить httpResponseStatus постоянного, то есть / privacy.

Вот то, что я пытался, но при извлечении файла privacy.html он разрешается с расширением .html, но на самом деле это страница .asp.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

<location path="privacy.html">
<system.webServer>
<httpRedirect enabled="true" destination="/privacy/" httpResponseStatus="Permanent" />
</system.webServer>
</location>


<system.webServer>
<rewrite>
<rules>
<rule name="privacy" stopProcessing="true">
<match url="^privacy" />
<action type="Rewrite" url="privacy.asp" />
</rule>
</rules>
</system.webServer>

</configuration>

1 Ответ

1 голос
/ 02 июля 2019

Вы можете использовать приведенное ниже правило перезаписи:

<rule name="privacy" enabled="true" stopProcessing="true">
                <match url="(.*)" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    <add input="{REQUEST_URI}" pattern="privacy.html$" />
                </conditions>
                <action type="Redirect" url="privacy" appendQueryString="false" />
            </rule>
            <rule name="rewrite rule" stopProcessing="true">
                <match url="privacy$" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                <action type="Rewrite" url="privacy.asp" appendQueryString="false" logRewrittenUrl="true" />
            </rule>

enter image description here

Примечание: не забудьте удалить путь к местоположению и старое правило перезаписи URL.

Rregards, Jalpa

...