ASP.NET 2.0 網站部署至 Windows 2003 + IIS6,使用 URLRewrite 模塊。首頁 (`~/`、`~/default.aspx`) 無法訪問,其他帶參數頁面正常。`httpHandlers` 配置 `path="*"` 導致首頁報「未將對象引用設置到對象的實例」;移除則動態頁面 404。
<rewriter>
<!-- 首頁規則:精確匹配根路徑,重寫至 default.aspx -->
<rewrite url="^~/?$" to="~/default.aspx" />
<rewrite url="^~/default\.aspx$" to="~/default.aspx" />
<!-- 動態頁面規則 -->
<rewrite url="^~/([a-zA-Z0-9]+)/?$" to="~/123.aspx?p1=$1" />
<rewrite url="^~/([a-zA-Z0-9]+)/(\d+)\.html$" to="~/123.aspx?p1=$1&p2=$2" />
</rewriter>
同時 `httpHandlers` 僅註冊 `.aspx`:
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.ModuleRewriter, URLRewriter" />
</httpHandlers>
Windows 2003/IIS6 已停止主流支持,強烈建議遷移至 Windows Server 2012 R2+ / IIS 8.5+,使用原生 URL Rewrite Module 2.0,配置 `