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