2012-06-29 35 views
1

一位朋友讓我找出一種在他的windows服務器上modrewrite的方法。他正在運行IIS 6,Isapi是我能找到的唯一的東西。我不熟悉它,並閱讀了一些文檔,但不能完全圍繞它。他希望重寫這些URL,使他們乾淨ISAPI PHP REWRITE

www.domain.com/cat.php?CTGID=####

www.domain.com/pp.php? ID = ##

我將如何去重寫這兩個URL以使它們在ISAPI中爲Clean。我已經將它安裝在Windows服務器上,並將這些規則放在他的網站文件夾中的IISF.ini中,或將這些代碼放在主IISF文件中?任何幫助將不勝感激!

+0

沒有理由在當今時代運行IIS。 [不客氣](http://nginx.org/) – Leigh

+0

@Leigh你知道StackOverflow在IIS上運行,對不對? http://blog.serverfault.com/category/infrastructure/ – ceejayoz

+0

@ceejayoz:是的,我知道。這不會讓IIS變得更好,它只是意味着它沒有充分發揮其潛力:) – Leigh

回答

0

重寫規則進入web.config文件或ApplicationHost.config中。 如http://learn.iis.net/page.aspx/465/url-rewrite-module-configuration-reference/

實例

<rewrite> 
<rules> 

    <rule name="Force WWW" stopProcessing="true"> 
     <match url=".*" /> 
     <conditions> 
      <add input="{HTTP_HOST}" pattern="^example.com$" /> 
     </conditions> 
     <action type="Redirect" url="http://www.example.com/{R:0}" redirectType="Permanent" /> 
    </rule> 

    <rule name="Redirect from blog"> 
     <match url="^blog/([_0-9a-z-]+)/([0-9]+)" /> 
     <action type="Redirect" url="article/{R:2}/{R:1}" redirectType="Found" /> 
    </rule> 

    <rule name="Rewrite to article.aspx"> 
     <match url="^article/([0-9]+)/([_0-9a-z-]+)" /> 
     <action type="Rewrite" url="article.aspx?id={R:1}&amp;title={R:2}" /> 
    </rule> 

</rules> 
</rewrite> 
-1

對於IIS,如果安裝了的ISAPI_Rewrite模塊,$ _SERVER [ 「IIS_UrlRewriteModule」]被設置並且包含模塊的版本號進行說明。所以你可以檢查這個服務器變量的存在。