我想,爲什麼你的問題是這麼老了,還沒有得到答覆是因爲它不清楚你問什麼原因。使用IIS7重寫模塊非常簡單,我將針對您所要求的內容(或者)提供幾個不同的示例。
所以,如果你想「改寫」那是在一個子文件夾,但他們出現,好像他們是在根的URL,下面的工作 -
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Root_URL_Rewrite" stopProcessing="true">
<match url="^(.*)" />
<action type="Rewrite" url="/subfolder/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
然而,如果你想網址在一箇舊的文件夾(比如網址已被谷歌索引的)重定向(作爲一個永久的301重定向),你可以使用下面的示例 -
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect_Root_URL" stopProcessing="true">
<match url="(.*)subfolder(.*)" ignoreCase="true" />
<action type="Redirect" url="{R:2}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
或者,如果你像我一樣過這個頁面stumpled並想要做一個重寫到子文件夾,然後做一個永久的301從舊的子文件夾的根重定向,你可能需要更多的類似於下面的東西 -
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect_Root_URL" stopProcessing="true">
<match url="(.*)subfolder(.*)" ignoreCase="true" />
<action type="Redirect" url="{R:2}" redirectType="Permanent" />
</rule>
<rule name="Root_URL_Rewrite" stopProcessing="true">
<match url="^(.*)" />
<conditions>
<add input="{URL}" pattern="^/subfolder/.*" negate="true" />
</conditions>
<action type="Rewrite" url="/subfolder/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>