簡體   English   中英

使用重寫添加“偽”根文件夾

[英]Adding a “fake” root folder using rewrite

我不確定該進行哪一步。 我已經進行了重寫,以刪除文件擴展名,但我似乎無法找出如何做的就是向站點添加“偽”根目錄。 例如,如果站點是www.foo.com/index.htm,我想重寫URL以顯示www.foo.com/root/index.htm。 我可以使用IIS重寫模塊或mod重寫,但我不確定如何執行此操作(或者甚至可能),但我的google-fu失敗了。

如果我理解正確,則您希望請求帶有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,如果使用相對鏈接,則需要更復雜的重寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM