0

これでどこに行くべきかわかりません。ファイル拡張子などを削除するために書き直しましたが、サイトに「偽の」ルートディレクトリを追加する方法がわかりません。たとえば、サイトが www.foo.com/index.htm の場合、URL を書き換えて www.foo.com/root/index.htm を表示したいと考えています。IIS書き換えモジュールまたはmod書き換えのいずれかを使用できますが、これを行う方法がわかりません(または可能かどうかさえわかりません)。私のgoogle-fuは失敗しました。

4

1 に答える 1

1

私がそれを正しく理解していれば、リクエストにrootプレフィックスを付けてください。その場合、この書き直しはそれを行います:

<rule name="StripRoot" stopProcessing="true">
    <match url="root/(.*)" />
    <action type="Rewrite" url="/{R:1}" />
</rule>

クライアント アウトバウンド ルールに提供される html を変更するには、次の手順が必要です。

<outboundRules>
    <rule name="FakeRoot" preCondition="IsHtml">
        <match filterByTags="A, Area, Base, Form, Frame, IFrame, Img, Input, Link, Script" pattern="http://www\.foo\.com/(.*)" />
        <action type="Rewrite" value="http://www.foo.com/root/{R:1}" />
    </rule>
    <preConditions>
        <preCondition name="IsHtml">
            <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
        </preCondition>
    </preConditions>
</outboundRules>

タグ属性に完全修飾 URL があることを前提としています。相対リンクを使用する場合は、より洗練された書き換えが必要です。

于 2012-12-19T21:47:49.847 に答える