在 ASP.NET 開發中,URL 重寫是提升網站 SEO 效果與使用者體驗的關鍵技術之一。傳統的查詢字串網址(如 Test.aspx?bigtypeid=1&smalltypeid=2&postyear=2023)不僅難以閱讀,也不利於搜尋引擎索引。透過 URLRewriter.dll,我們可以將複雜的動態網址轉換為乾淨、語意化的靜態風格網址(如 content_list_year,1,2,2023.aspx)。
首先在 web.config 的 <configuration> 區段註冊組態區塊處理常式:
<configSections>
<section name="RewriterConfig"
type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
接著在 <RewriterConfig> 區塊中定義具體的重寫規則,使用正則表達式擷取參數:
<RewriterConfig>
<Rules>
<!-- 依年份查詢內容列表 -->
<RewriterRule>
<LookFor>~/content_list_year,(\d{1,9}),(\d{1,9}),(\d{4})\.aspx</LookFor>
<SendTo><![CDATA[~/Test.aspx?bigtypeid=$1&smalltypeid=$2&postyear=$3]]></SendTo>
</RewriterRule>
<!-- 評論頁面重寫 -->
<RewriterRule>
<LookFor>~/comment,(\d{1,9})\.aspx</LookFor>
<SendTo><![CDATA[~/comment.aspx?PostID=$1]]></SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
.aspx 結尾,否則 IIS 不會將請求傳遞給 ASP.NET 執行緒處理。/article/2023/ 的目錄結構,需在對應目錄下建立 default.aspx 並設定為 IIS 預設文件。$1、$2、$3 分別對應正則表達式中第一、二、三個捕獲群組。微軟官方提供完整範例代碼與說明文件,建議開發者參考:
ASP.NET URL Rewriting 官方指南
掌握 URL 重寫技術,不僅能美化網址結構,更能有效提升網站的搜尋引擎排名與使用者信任度。