IsapiModule或CgiModule必须在模块列表中

http://blog.csdn.net/jiangxuchen/article/details/8758847

IIS7中默认是已经加载了脚本映射处理。但今天装了个WIN7,装好IIS后却发现没有。于是手动去这安装,在添加html映射时提示:模块列表中必须要有IsapiModule或cgiModule

Google了半天找不到原因。后来在找到了答案。方法很简单,在 控制面板 -> 程序和功能 -> 打开或关闭Windows功能(这几步可以简化为Win+R运行OptionalFeatures) -> Internet信息服务 -> 万维网服务 -> 应用程序开发功能,把下面的全部勾上!重启,成功!

问题二:由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。 IIS的根节点(第一节点 )->右侧“ISAPI和CGI限制”->把禁止的DotNet版本项设置为允许,即可.

Web.Config 在iis7下必须加以下一段:

==========================================

<system.webServer>         <modules>             <add name="all" type="URLRewriter.ModuleRewriter" preCondition="managedHandler" />         </modules>         <handlers>             <add name="all" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness32" />             <add name="html" path=".html" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv4.0,bitness32" />         </handlers>     </system.webServer> < /configuration>

HTTP 错误 404.0 - Not Found

您要找的资源已被删除、已更名或暂时不可用。

Asp.net配置伪静态规则

第一步: 从如下任一地址中下载URLRewriter组件:

下载地址1:http://download.csdn.net/source/524514

同一个项目, 又建另一站点(相同的物理路径,) ,结果出下上图404.0错误, 原来是vista下应用程序池默认的32应用程序属性影响,参考下图,设置为True

下载地址2:http://www.nmju.net/UserFiles/URLRewriter.rar 下载地址3:http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi

第二步:在网站项目中添加URLRewriter程序集的引用。

第三步:配置webconfig文件:

1、在<configSections>与</configSections>节点首部加入如下:

<section name="RewriterConfig" requirePermission="false" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>

2、在<httpHandlers>与</httpHandlers>之间加入: <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" /> <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

3、在<httpModules>与</httpModules>之间加入

<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>

4、配置伪静态的语法:在<configuration>与</configuration>之间加入<RewriterConfig></RewriterConfig>节点。在<RewriterConfig>与</RewriterConfig>之间加入伪静态规则:

<Rules>       <!--定义伪静态第一条规则开始-->       <RewriterRule>         <LookFor>~/xxxx/view(.[/d]*)/.html</LookFor>         <SendTo>~/xxxx/view.aspx?id=$1</SendTo>       </RewriterRule>

<!--定义伪静态第一条规则结束--> <!--定义伪静态第二条规则开始-->       <RewriterRule>         <LookFor>~/yyyy/(.[/d]*)/view.html</LookFor>         <SendTo>~/yyyy/view.aspx?id=$1</SendTo>       </RewriterRule>

<!--定义伪静态第三条规则结束 以此类推-->

</Rules>

第四部:配置IIS7.5 或IIS7.0

1、新建一个应用程序池:名称:任意如:webapp;选择net FrameWork版本(如果你的网站时候2.0的话就选择2.0,我的是4.0)在此我选择Net FramWork v 4.030319. 托管管道模式先暂时设置为集成模式。等下面的设置完成之后再将托管管道模式设置为经典模式。如果下面的设置完成之后不把应用程序设置为经典模式的话,伪静态的功能可以实现,但是页面的样式图片不能正常显示这是设置的关键。

2、新建一个网站 website ,将此站点的应用程序程序池设置为webapp。

3、选中你的站点比如website ,并且切换到功能视图。双击【处理程序映射】在打开窗口右侧的操作栏目下做如下操作。

3.1、【添加脚本映射】-路径为:*.html.可执行文件为:C:/Windows/Microsoft.NET/Framework/v4.0.30319/aspnet_isapi.dll 注意:如果你的网站是2.0。可执行文件为:C:/Windows/Microsoft.NET/Framework/v2.0.50727/aspnet_isapi.dll 。名称:任意,比如:html.       3.2、【添加通配符脚本映射】 请求路径为*。可执行文件和3.1的一模一样,名称任意,比如:All.

3.3、【托管处理程序映射】(路径:*  可执行文件:System.Web.UI.PageHandlerFactory 名称 任意 比如Html-Integrate)

3.4、双击website站点切换到站点功能视图。然后双击模块,打开窗口之后在右侧的操作栏目下面,单击【添加托管模块】-》名称:任意 如All  类型:URLRewriter.ModuleRewriter 并且 把【仅针对向asp.net 应用程序或托管处理程序发出请求调用】前面的选项勾上。(记住一定要勾上)。

3.5、最后一步:双击iis7.0或7.5的应用程序池。在应用程序池列表中找到【webapp】应用程序池。双击打开之后。将webapp应用程序池的【托管管道模式】设置为经典模式。

值得注意的是第三部中的2,3点可以根据程序设计的需要选其一,在某些不确定的情况下,可能使程序出现异常。

当然在配置iis7.0和iis7.5时还有更简单的方法。将微软官方的url包安装到服务器上,在服务器上导入配置规则文件,

MaxMatchCount 10

RewriteRule ^news/([0-9]+)/.html$ news/xx.aspx?id=$1 #注释

。。。。。

。。。。

NotParsed  foo bar

文件名后缀为.htaccess,将网站暂停,点击UrlWriter,导入规则应用即可,当然在开发过程当中,为了便于测试,最好是将两种方法结合使用,再在web.config中将相关的urlwriter重写配置项注释或删除即可!

时间: 2024-11-05 22:42:36

IsapiModule或CgiModule必须在模块列表中的相关文章

将dll从进程模块列表中移除并保持正常运行

将dll从进程模块列表中移除并保持正常运行,这玩意想想是挺简单,n久前byshell就用了, 简单的思路就是给当前的dll内存映像做份拷贝,然后跳到那份拷贝的地址空间的代码,回头free掉原来的dll, 然后马上用VirtualAlloc在原基址上申请块同样大小的空间,并将那份拷贝还原回去,再跳回去执行.完. 代码写完后再实际程序中应用后发现问题,一旦调用到malloc或new的话就会崩溃,于是去看了下byshell的代码,发现他申请内存是用VirtualAlloc,但是我大量的代码都是用new

asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

开发web项目时需要安装IIS,在安装好IIS的Windows7本上发布asp.net网站时,web程序已经映射到了本地IIS上,但运行如下错误提示“处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”” 一,上述错误详情为 二.上述错误分析:  vs2010默认采用的是.NET 4.0框架,4.0框架是独立的CLR,和.NET 2.0的不同,如果想运行.NET 4.0框架的网站,需要用aspnet_r

asp.net发布到IIS中出现错误:处理程序&ldquo;PageHandlerFactory-Integrated&rdquo;在其模块列表中有一个错误模块&ldquo;ManagedPipelineHandler&rdquo;

开发web项目时需要安装IIS,在安装好IIS的Windows7本上发布asp.net网站时,web程序已经映射到了本地IIS上,但运行如下错误提示"处理程序"PageHandlerFactory-Integrated"在其模块列表中有一个错误模块"ManagedPipelineHandler"" 我要发布的的web项目开发工具及所用系统 ①开发工具:vs2010.数据库:sqlserver ②操作系统:windows7 ③IIS:IIS 7.5

导入random模块, 生成0-100间所有数字的随机列表(列表中的数字不重复)

导入random模块, 生成0-100间所有数字的随机列表(列表中的数字不重复)思路:先导入随机数生成模块,通过循环生成随机数,判断生成随机数是否有相同的,把不同的写入列表 方法一:方法二: 欢迎各路大神指正 原文地址:http://blog.51cto.com/10412806/2088010

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

开发web项目时需要安装IIS,在安装好IIS的Windows7本上发布asp.net网站时,web程序已经映射到了本地IIS上,但运行如下错误提示"处理程序"PageHandlerFactory-Integrated"在其模块列表中有一个错误模块"ManagedPipelineHandler"" 我要发布的的web项目开发工具及所用系统 ①开发工具:vs2010.数据库:sqlserver ②操作系统:windows7 ③IIS:IIS 7.5

Python模块包中__init__.py文件的作用

在eclipse中用pydev开发Python脚本时,我遇到了一个这样的现象,当我新建一个pydev package时,总会自动地生成一个空的__init__.py文件,因为是python新手,所以很不了解这个空文件的作用是什么,因为没有什么东西可写在这里,所以我直接把这个文件给删掉了,结果我的包图标自动变为文件夹图标了,这是怎么回事呢! 原来在python模块的每一个包中,都有一个__init__.py文件(这个文件定义了包的属性和方法)然后是一些模块文件和子目录,假如子目录中也有 __ini

跟我一起学extjs5(37--单个模块的设计[5取得模块列表数据])

跟我一起学extjs5(37--单个模块的设计[5取得模块列表数据]) 写了几个月,总算有点盼头了,最终要从后台取得数据了.后台的spring mvc 和 service 仅仅能简单的说说了,里面加了几十个类.有兴趣的下载了源代码自己看.以下画张通用的模块列表取数据的流程,这个流程是适用于全部的模块.我这个后台处理程序也是对全部的模块进行统一处理,包含数据查找,新增,改动,删除都是同样的. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamZvaw==

(转)织梦后台模块列表不显示的原因以及四种解决方法

最近,kdchxue在学习织梦的建站,可是遇到了这样的问题,织梦的后台模块列表没有办法显示.kdchxue在网上一搜,发现出现这样的原因的用户可不是少数,于是小编在网上冲浪了一般,结合自己的实际经验,给大家分析了织梦的后台模块列表无法显示的原因做了剖析,以及解决的方法! 虽然说织梦CMS是一款非常优秀的开源CMS程序,但在使用织梦DedeCMS的过程中,我们还是会遇到一些很恼火的事情,比如模块管理列表无法显示,无法对模块进行卸载,这个是非常影响心情的.造成织梦模块管理列表无法显示的原因,可能有很

跟我一起学extjs5(38--单个模块的设计[6取得模块列表数据])

跟我一起学extjs5(38--单个模块的设计[6取得模块列表数据]) 上一节中做好了前后台的程序,现在来看看取得数据的运行过程.在菜单中选择 "系统管理"--"模块分组".就可以看到下图,在渲染后grid后,会显示数据. 来看看ajax取得数据的url和数据. url的信息: Remote Address:[::1]:8888 Request URL:http://localhost:8888/app/rest/module/fetchdata.do?_dc=14