針對 Windows Server + IIS 環境下運行 Tipask 2.5 的開發者,本文提供經實測可用的 ISAPI Rewrite 2.0 偽靜態規則,可直接部署至 httpd.ini 檔案。
[ISAPI_Rewrite]
# 3600 = 1 小時
CacheClockRate 3600
RepeatLimit 32
# 問答相關
RewriteRule ^(.*)/q-(.*).html*$ $1/?q-$2.html
RewriteRule ^(.*)/c-(.*).html*$ $1/?c-$2.html
RewriteRule ^(.*)/l-(.*).html*$ $1/?l-$2.html
RewriteRule ^(.*)/r-(.*).html*$ $1/?r-$2.html
# 用戶相關
RewriteRule ^(.*)/u-(.*).html*$ $1/?u-$2.html
RewriteRule ^(.*)/us-(.*).html*$ $1/?us-$2.html
# 功能頁面
RewriteRule ^(.*)/question/add.html?*(.*)$ $1/index.php?question/add.html
RewriteRule ^(.*)/user/space_answer/(.*)/(.*).html*$ $1/index.php?user/space_answer/$2/$3.html
RewriteRule ^(.*)/user/ask/(.*).html*$ $1/index.php?user/ask/$2.html
RewriteRule ^(.*)/user/(.*).html*$ $1/index.php?user/$2.html
RewriteRule ^(.*)/message/(.*).html*$ $1/index.php?message/$2.html
RewriteRule ^(.*)/favorite/(.*).html*$ $1/index.php?favorite/$2.html
RewriteRule ^(.*)/index/(.*).html*$ $1/index.php?favorite/$2.html
RewriteRule ^(.*)/category/view/(.*).html*$ $1/?categoryview/$2.html
httpd.ini。CacheClockRate 3600 設定緩存刷新間隔為 1 小時,平衡性能與規則更新靈活性。RepeatLimit 32 防止無限重寫循環。| 偽靜態 URL 範例 | 實際映射路徑 | 功能模組 |
|---|---|---|
| /q-123.html | /?q-123.html | 問題詳情 |
| /u-admin.html | /?u-admin.html | 用戶主頁 |
| /question/add.html | /index.php?question/add.html | 提問頁面 |
| /user/space_answer/uid/5.html | /index.php?user/space_answer/uid/5.html | 用戶回答列表 |
此規則集覆蓋 Tipask 2.5 核心路由,部署後即可實現 SEO 友好的靜態化 URL 結構。