使用asp.net 開發的網頁程序,使用URLRewriter.dll 實現靜態化。
A. 下載URLRewriter.rar,解壓後放在/bin/目錄下
B. 將URLRewriter.rar 加入工程引用。
C. 配置IIS 站點,將擴展名為html 指向處理程序aspnet_isapi.dll。
IIS 站點->屬性->主目錄->配置->添加
可執行文件和aspx 處理相同,都是 c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll
特別注意,一定不要選擇檢查文件是否存在。
D. 在web.config 中添加配置內容,壓縮包裡有。
復制代碼 代碼如下:
<configSections>
<section name="RewriterConfig"
type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<!-- 實際重定向-->
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/(\d*).html</LookFor>
<SendTo>~/user/default.aspx?link=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<system.web>
<!--
需要在IIS 裡面增加html 引用,改成aspx 的引用
-->
<httpHandlers>
<add verb="*" path="*.aspx"
type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html"
type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
E. 在地址欄輸入[url]http://localhost/1.html[/url] 指向[url]http://localhost/user/default.aspx?link=1[/url]
基於Apache HTTP Server 靜態化Apache Web Server 的配置(conf/httpd.conf )
A. 在httpd.conf 文件中查找LoadModule rewrite_module modules/mod_rewrite.so
通常該行被注釋,去掉“#”。如果沒有就增加該行。
B. 加入代碼:
復制代碼 代碼如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/([0-9]+).html$ /user.php?user=$1
</IfModule>
C. 如果網站使用通過虛擬主機來定義,請務必加到虛擬主機配置文件.htccess 中去,否則可能
無法使用。
D. 重啟Apache,重新載入配置。
E. 在地址欄輸入[url]http://localhost/1.html[/url] ,實際指向[url]http://localhost/user.php?user=1[/url]