西部数码虚拟主机windows2003+iis6 net脚本映射方式实现伪静态

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

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

    1.jpg

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

    1.jpg

    .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>

即可。

分享到
表个态吧 赞(0)