Windows 7操作系統 IIS 7 配置asp.net網站偽靜態配置問題


  今天與大家分享一下"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祝大家寫代碼寫的愉快!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM