windows2003+iis6脚本映射方式实现伪静态(包括asp.net)
author:一佰互联 2016-01-31   click:3286

windows2003+iis6脚本映射方式实现伪静态(包括asp.net)

asp.net程序一般情况下,规则写在根目录web.config配置文件中,主机方面设置脚本映射即可支持

  1. 主机管理面板,点击网站基本功能中-脚本映射

     

  2. 根据您程序的需求,可用第一个方式设置,如填写.html 选择您程序所对应.net版本,点击添加即可

     

    .net程序不但要把解析引擎选择ASP.net,还要在你的站点里面进行设置:
      在web.config里
         <system.web> <httpHandlers> <add path=\"*.设置的文件类型\" verb=\"*\" type=\"System.Web.UI.PageHandlerFactory\" validate=\"True\" /> </httpHandlers> </system.web>

    使用此功能可以很容易实现CVB论坛、DiscuzNT论坛等ASP.net程序全面伪静态(即整个网站看起来是HTML静态文件组成)。

    如果您觉得如Yahoo的网页后缀为.do这样很有个性化,使用此功能可以轻松实现。

    另,通配符应用映射功能也主要用于.net程序的伪静态功能使用,选择对应的.net版本,点击提交即可.


asp.net实现伪静态原理方法:
    1、使用我司后台有一个isapi筛选器-开启自定义URL伪静态功能,然后编辑ftp空间的others/discuz/httpd.conf文件,加上您的规则即可,规则需要自己写需编写。比如想将对xxx.htm的请求转到xxx.aspx,规则大体上是
    rewriterule  ^(.*)/xxx\\.htm $1/xxx\\.aspx
    2.使用.net本身的功能实现伪静态,详情如下
      2.1在我司后台点击-脚本映射-文件类型输入.html,类型选择.net,最后选择“提交”
    2.2
在你的项目里引用DLL:URLRewriter.dll,然后在web.config里写
<?xml version=\"1.0\" encoding=\"utf-8\" ?>
< configuration>
        <configSections>
        <section name=\"RewriterConfig\" type=\"URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter\" />
    </configSections>

    <RewriterConfig>
        <Rules>
            <!-- Rules for Blog Content Displayer -->
                <RewriterRule>
                    <LookFor>~/read(.[0-9]*)\\.html</LookFor>
                    <SendTo>~/WebForm1.aspx?UserID=$1< ndTo>
                </RewriterRule>
        </Rules>
    </RewriterConfig>
    <appSettings>
        <add key=\"dbType\" value =\"sql\"></add>
        <add key=\"data\" value=\"server=.;uid=sa;pwd=sa;database=pubs;Connect Timeout=30;\"></add>
    </appSettings>
  <system.web>
    <httpHandlers>
        <add verb=\"*\" path=\"*.aspx\" type=\"URLRewriter.RewriterFactoryHandler, URLRewriter\" />
     <add verb=\"*\" path=\"*.html\" type=\"URLRewriter.RewriterFactoryHandler, URLRewriter\" />
    </httpHandlers>

即可。