IIS7无后缀URL部署问题 MVC4 MVC URL映射 windows server 2008

前言和中间一段都是我找到问题的过程和思维方法.没兴趣的可以直接跳过看后面的问题和解决.

前言:
  问题发生在站点完成后,部署到服务器上.以为这个是最轻松的工作.结果悲剧了.windows server 2008 R2 上用的是IIS7,无法识别没有后缀的URL重定向.网上狂找.很多人会说这个问题很常见啊网上的资料很多啊.其实不然.今天我要给出大家这个问题的最官方的解决办法.

  扯淡结束.先说问题.我搜索了很多以后发现几个问题.
  第一,提供的解决方案都是老的.很多网站就是互相复制.配图大多都没有了.
  第二,有配图的也多半是IIS6这个版本的图片.
  第三,最坑爹的就是这个了.所有资料都是要大家增加一个*星号的映射,看似问题解决了.可是有很多后遗症.比如当你真的需要访问有后最的文件的时候就会出问题了.
  第四,我感觉好像这种方法很山寨啊.microsoft既然自己吧MVC做成了无后缀的样式难道自己没提供方法吗.
  于是我通过不懈的查找.在官方网站上.找到了一个老外的同样问题.下面得到了官方的处理方法.


问题:
  微软MVC4开发以后URL地址是通过重定向得到的页面.所以没有后缀.IIS无法识别.
解决:
  微软在很早以前就给出了官方的解决方案只是国内好像知道的人不多(也可能是很多人知道大家认为太简单问题不高兴发在网上了吧).
  官方提供了一个处理URL无后缀的补丁
  下载地址:http://support.microsoft.com/kb/980368
  直接下载安装服务器.重启一下.好了现在不需要添加什么映射.你的IIS7也可以支持无后缀的重定向页面了

结尾:
  问题解决的很简单就只是下载一个补丁然后安装就好了.对这个问题不屑的路过就好了.不要说我太弱智.我只是希望给大家分享一些我实际遇到但又不是很容易找到答案的问题.
  如果对你有帮助请给我一个回复.对我就是莫大的动力.

windows7下发布web项目需要安装IIS,当安装完以后,web程序已经映射到了本地IIS上,运行出现如下错误提示

处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

原因:

vs2010默认的是4.0框架,4.0的框架是独立的CLR,和2.0的不同,如果想运行4.0的网站,需要用aspnet_regiis注册4.0框架,然后用4.0的Class池,就可以运行4.0的web项目了.

如何用aspnet_regiis注册4.0框架:

方法如下,启动cmd (win键+R 启动cmd)  ,找到 4.0所在的目录,本人机器目录是 

IIS7 发布网站 出现 "处理程序鈥淧ageHandlerFactory-Integrated鈥澰谄淠?榱斜碇杏幸桓龃砦"' name=image_operate_33861304492691674 alt='win7 IIS7 发布网站 出现 "处理程序鈥淧ageHandlerFactory-Integrated鈥澰谄淠?榱斜碇杏幸桓龃砦"' src="http://s7.sinaimg.cn/middle/7ed5a8084a26ddc4f3df6&690" width=690 height=248 action-type="show-slide" action-data="http%3A%2F%2Fs7.sinaimg.cn%2Fmiddle%2F7ed5a8084a26ddc4f3df6%26690" real_src="http://s7.sinaimg.cn/middle/7ed5a8084a26ddc4f3df6&690">

复制上面的目录 C:WindowsMicrosoft.NETFrameworkv4.0.30319

启动CMD进入上面的目录,如下图

IIS7 发布网站 出现 "处理程序鈥淧ageHandlerFactory-Integrated鈥澰谄淠?榱斜碇杏幸桓龃砦"' name=image_operate_18091304492812506 alt='win7 IIS7 发布网站 出现 "处理程序鈥淧ageHandlerFactory-Integrated鈥澰谄淠?榱斜碇杏幸桓龃砦"' src="http://s2.sinaimg.cn/middle/7ed5a8084a26ddfb4fc01&690" width=679 height=444 action-type="show-slide" action-data="http%3A%2F%2Fs2.sinaimg.cn%2Fmiddle%2F7ed5a8084a26ddfb4fc01%26690" real_src="http://s2.sinaimg.cn/middle/7ed5a8084a26ddfb4fc01&690">

回车后 如下图

IIS7 发布网站 出现 "处理程序鈥淧ageHandlerFactory-Integrated鈥澰谄淠?榱斜碇杏幸桓龃砦"' name=image_operate_78931304492719298 alt='win7 IIS7 发布网站 出现 "处理程序鈥淧ageHandlerFactory-Integrated鈥澰谄淠?榱斜碇杏幸桓龃砦"' src="http://s16.sinaimg.cn/middle/7ed5a8084a26de0601fbf&690" width=680 height=444 action-type="show-slide" action-data="http%3A%2F%2Fs16.sinaimg.cn%2Fmiddle%2F7ed5a8084a26de0601fbf%26690" real_src="http://s16.sinaimg.cn/middle/7ed5a8084a26de0601fbf&690">

已经进入C:WindowsMicrosoft.NETFrameworkv4.0.30319 此目录

然后运行 aspnet_regiis.exe -i  如下图

IIS7 发布网站 出现 "处理程序鈥淧ageHandlerFactory-Integrated鈥澰谄淠?榱斜碇杏幸桓龃砦"' name=image_operate_98971304492737680 alt='win7 IIS7 发布网站 出现 "处理程序鈥淧ageHandlerFactory-Integrated鈥澰谄淠?榱斜碇杏幸桓龃砦"' src="http://s6.sinaimg.cn/middle/7ed5a8084a26de15feb85&690" width=674 height=446 action-type="show-slide" action-data="http%3A%2F%2Fs6.sinaimg.cn%2Fmiddle%2F7ed5a8084a26de15feb85%26690" real_src="http://s6.sinaimg.cn/middle/7ed5a8084a26de15feb85&690">

稍等一会,  aspnet_regiis 注册后如下图

IIS7 发布网站 出现 "处理程序鈥淧ageHandlerFactory-Integrated鈥澰谄淠?榱斜碇杏幸桓龃砦"' name=image_operate_97681304492813721 alt='win7 IIS7 发布网站 出现 "处理程序鈥淧ageHandlerFactory-Integrated鈥澰谄淠?榱斜碇杏幸桓龃砦"' src="http://s3.sinaimg.cn/middle/7ed5a8084a26de2774b52&690" action-type="show-slide" action-data="http%3A%2F%2Fs3.sinaimg.cn%2Fmiddle%2F7ed5a8084a26de2774b52%26690" real_src="http://s3.sinaimg.cn/middle/7ed5a8084a26de2774b52&690">

ok,这时的IIS就可以运行 .net 4.0 部署的网站了.
 

原文地址:https://www.cnblogs.com/zcm123/p/3148994.html