admin 管理员组

文章数量: 887019

     使用URLRewriter组件在windows 2003 +iis 6.0下配置伪静态的文章网络上一大堆。但在windows 2008 +iis7.0或windows 7+iis 7.5 环境下配置的网站基本上没有。偶尔有几篇也没有把问题说清楚!本人也按部就班的做了。伪静态的功能是实现了,但是新的问题出来了,整个站点的图片和样式全部乱了。
      以前在windows 2008 +iis7.0也遇到了这个问题。网都翻破了没有找到解决办法。后面不知道当时是怎么回事,瞎猫碰到死耗子,被我配对了。事隔半年后要在windows 7+iis 7.5用URLRewriter组件下配置伪静态,也是弄了好几天没有弄出来。今天也是瞎猫碰到死耗子终于配置出来了。现在马上记录下来,免得下次又忘记了。此法在windows 2008 +iis7.0或windows 7+iis 7.5下都实用。

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

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

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

第三部:配置webconfig文件:

1。在<configuration>与</configSections>节点中间加入如下配置:

 <section name="RewriterConfig" 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 应用程序或托管处理程序发出请求调用】前面的选项 勾上。(记住一定要勾上)。

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

 

本文标签: 微软 静态 组件 解决方案 完美