天天看点

IIS 服务器 配置伪静态的方法

在网上搜索一些东西时,突然看到可以直接配置服务器,然后配置一下 Web.config 文件就可以实现

伪静态,于是就试着去实现。用了半天的时间,我终于配置成功了,在这里分享给大家。

    很多文章上面说要下载微软的 MSDNURLRewriting.msi 软件,或者是 Url Rewrite2.exe 软件。我下载下来配置了一下,都没有成功。

我的配置方法如下:

1.打开IIS服务器

2.切换到处理程序映射界面

3."添加通配符脚本映射":请求路径 * ,可执行文件为:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll

,名称随意。如果是4.0框架用下面这个:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll

这里很重要,所以我用了红色字体。

4.将集成模式改为经典模式

【以下两个步骤 一般可以省略】

5.右边"添加脚本映射":请求路径 .html ,可执行文件选择

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll ,如果是4.0,则为

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll,名称随意;

(注意:如果你的系统是32位的。请选择 Framework,如果64位,请选Framework64。这个关键到后面的伪静态问题,慎重!!)

6."添加托管处理程序":请求路径 * ,可执行文件:System.Web.UI.PageHandlerFactory,名称随意;

打开站点切换到功能试图,找到 "IIS(服务器组件)"->"模块",双击之后,在打开窗口右侧的操作栏目中,

点击"添加托管模块",名称随意,类型URLRewriter.ModuleRewriter,并且把"仅针对向asp.net 应用程序或

托管处理程序发出请求调用" 选中

7.配置Web.config文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <!--必要参数-->
  <configSections>
    <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
  </configSections>
  <!--必要参数-->
  <RewriterConfig>
    <Rules>
      <!--<RewriterRule>
        <LookFor>~/web/new/type/(.[0-9]*)\.html</LookFor>
        <SendTo>~/web/new.aspx?id=$1</SendTo>
      </RewriterRule>-->
      
      <RewriterRule>
<!--URL里面要写的-->
        <LookFor>~/Default/(.[0-9]*)/.html</LookFor>
<!--要到的实际动态页面-->
        <SendTo>~/Default.aspx?id=$1</SendTo>
      </RewriterRule>
      
    </Rules>
  </RewriterConfig>

  <system.web>
<!--必要参数-->
    <httpHandlers>
      <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
      <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
    </httpHandlers>

    <compilation debug="true" targetFramework="4.0">
      <!--为了使真正的html页面也能正常使用-->
      <buildProviders>
        <add extension=".html" type="System.Web.Compilation.PageBuildProvider" />
      </buildProviders>
    </compilation>
  </system.web>

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <!--禁止验证集成模式-->
  </system.webServer>
</configuration>
           

接下来访问Default/1/.html

好了,这就配置完成了。