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祝大家写代码写的愉快!