今天與大家分享一下"Windows 7操作系統 IIS 7 配置asp.net網站偽靜態配置問題"個人心得,由於是第一次用IIS7配置asp.net網站偽靜態的問題,所以說還是走了點彎路,今天把它貼出來與大家分享一下,首先我們先不談把網站掛到IIS上,我想第一步我們一定要確定在本地通過vs瀏覽網站的時候偽靜態是有用的,實現方法到網上一搜一大堆,此處不累贅,現在我就把我走的彎路貼出來,為了大家以后就不要走彎路了,呵呵.
第一步:添加一個新網站

然后就配置一下程序池、端口號、默認文檔等,然后如圖點瀏覽,看是否能打開網站

如果能正常瀏覽,說明第一步就完成了,不能瀏覽的話自己找下原因吧。
第二步:查找偽靜態失效的原因
我就正常的打開網站瀏覽,點到有偽靜態頁面的時候,就報404錯,你懂的。

然后我開始檢查程序池,我認為應該是.net framework版本的問題,我配置文件里面用的是3.5版本,而我選的卻是2.0的,因為沒有3.5的可選,我郁悶了。

於是乎,我到網上去下了3.5版本,下載完以后安裝,不知為什么,就是裝不上,換了好幾個版本都不行,我無語了,然后又找了一些參考資料,想了一下有可能不是.net framework版本的問題,也許還是配置的問題,最后,終於找到了問題所在,因為IIS7與之前的版本在配置上有點區別:之前的版本可以通過選擇程序映射來實現偽靜態,但是IIS7根本不行,因為它找不到aspnet_isapi.dll文件,無法映射,所以只能通過配置來完成(這只是個人的理解),最后終於找到了解決方法,就是在配置文件中加以下代碼:
<handlers>
<add name="urlchat" path="*.thtml" verb="GET,POST" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</handlers>
這樣的話就可以實現偽靜態效果。

注:上面我只是實現有后綴名的偽靜態效果,當配置無后綴名偽靜態的時候會出現樣式亂了,此問題我還沒解決,如果大家有什么好的解決方法,還請告訴我,先謝!
PS:Tandy Tang祝大家寫代碼寫的愉快!
