IIS 7.5 Express 多重網站

IIS 7.5 Express 支援多重網站嗎? 官方是不支援這樣的設定的。

微軟出的 IIS 7.5 Express 可以讓舊電腦(XP)安裝最新的IIS版本。想把 XP 內建的 IIS 換成 IIS Express 要有些心理準備。它沒有完整的 GUI 設定介面,所有設定都要用文字編輯器修改設定檔。啟動或停止網站服務也都要用命令列指令來完成。不過裝了它可以讓 XP 擁有如同伺服器最新 IIS 版本的所有功能。

還有個缺點,一次只能只能啟動一個網站,即使設了多個也是只能選其中一個來啟動。畢竟它是設計來當開發用的測試環境。還好 IIS Express 內建 URL Rewrite 模組。有了 URL Rewrite 透過一些小技巧就可以把不同目錄模疑成支援多網站的IIS了。

假設有兩個網域 www.aaa.com 及 www.bbb.com 的 IP 都指到這台電腦。如果想讓

  • 連到 http://www.aaa.com/ 連到網站根目錄下的 /www.aaa.com/
  • 連到 http://www.bbb.com/ 連到網站根目錄下的  /www.bbb.com/


可以透過修改網站 web.config 檔 (沒有的話自行建立放置於網站根目錄)
加入 URL Rewrite 的設定如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rewriteMaps>
                <rewriteMap name="site1" />
            </rewriteMaps>
            <rules>
                <rule name="CanonicalHostNameRule1" stopProcessing="true">
                    <match url=".*" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{HTTP_HOST}" pattern="^(.+)$" />
                    </conditions>
                    <action type="Rewrite" url="{C:1}/{R:0}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

如此一來感覺就像同時啟動兩個虛疑網站囉!

有關 IIS Express 的安裝使用就請客位看官請自行 Google 一下吧!