2012-09-15 78 views
4

我有一個htaccess的文件,該文件從文件中刪除的PHP擴展,例如so.com/question.php轉換爲so.com/question ,並且還重定向該文件夾中的索引文件,例如so.com/answer/index.php重定向到so.com/answer/精確描述in this answer刪除.PHP用的web.config擴展上IIS7

我剛剛建立了我的網站上本地IIS7,需要重新在網絡相同的行爲.config但不知道從何處開始轉換/重寫.htaccess文件。

回答

21

我發現IIS7及以上版本可以使用URL重寫模塊導入Apache .htaccess規則。

  1. 安裝通過微軟Web平臺安裝
  2. 啓動IIS管理器,並在左側URL Rewrite module,在連接窗格中,選擇您所需的網站(如默認Web站點)
  3. 在中心(功能查看)雙擊URL重寫
  4. 在右側面板中點擊導入規則...然後貼上規則從.htaccess文件到重寫規則
  5. 點擊右欄中的應用。

在下面的.htaccess上述具體問題重定向規則

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.*)$ $1.php [NC,L] 

生成以下web.config文件。

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="Imported Rule 1" stopProcessing="true"> 
        <match url="^(.*)$" /> 
        <conditions logicalGrouping="MatchAll"> 
         <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /> 
         <add input="{REQUEST_FILENAME}.php" matchType="IsFile" ignoreCase="false" /> 
        </conditions> 
        <action type="Rewrite" url="{R:1}.php" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration>