如何在 IIS 網路伺服器上 mod_rewrite

如何在 IIS 網路伺服器上 mod_rewrite

由於我以前的伺服器是 Linux 驅動的機器,所以我有這段程式碼:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?path=$1 [NS,L]
</IfModule>

這段程式碼會將資訊放入 URL 中,如下所示:

http://www.example.com/nr1/nr2/nr3/

放入這樣的數組中:

array ( 0 => "nr1", 1 => "nr2", 2 => "nr3")

我的新伺服器電腦是基於 Windows 2008 (IIS) 的伺服器。現在我想在我的新伺服器上使用 mod_rewrite mod。簡而言之,我的問題是:

誰能告訴我,或將我連結到一個教程,告訴我如何安裝/使用 mod_rewrite mod(或任何執行相同操作的 mod)並將上面的程式碼轉換為我可以在基於 Windows 的伺服器上使用的格式。

我仍然使用 php,而不是 ASP.NET,我知道很多人會說使用apache什麼的,但不幸的是需要使用IIS。

提前謝謝了!

答案1

我非常喜歡 IIS 重寫模組,因為它完全整合到檔案中web.config(相當於 IIS .htaccess)。

但如果你想要精確的語法匹配,ISAPI Rewrite 是你的朋友。它(據我所知)與文件mod_rewrite中的 Apache 模組100% 相容.htaccess(並且實際上使用的.htaccess文件看起來像真的在 Windows 資源管理器中看到沒有檔案名稱的有效檔案很奇怪)

答案2

Microsoft 的官方 IIS 網站有重寫模組您正在尋找。

如果您熟悉 mod_rewrite,那麼 IIS 的等效項非常相似。否則,網路上有很多指南。這個模組的最初目的是鏡像 mod_rewrite,因此儘管它們的發展方向略有不同,但它非常相似。

相關內容