2014-04-15 111 views
1

我有一個網站mywebsite.com並安裝了CMS到子文件:mywebsite.com/subfolderIIS7重寫URL子文件夾父文件夾(根)

我現在需要移動的CMS父文件夾的根和我希望URL自動重寫,以便在瀏覽mywebsite.com/subfolder/page1.php時將您重定向到mywebsite.com/page1.php

到目前爲止,我發現的唯一建議是將任何請求重定向到根文件夾。在我的情況下,我需要重寫。

謝謝!

回答

1

我想,爲什麼你的問題是這麼老了,還沒有得到答覆是因爲它不清楚你問什麼原因。使用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>