asp.net程序一般情况下,规则写在根目录web.config配置文件中,主机方面设置脚本映射即可支持
主机管理面板,点击网站基本功能中-脚本映射
根据您程序的需求,可用第一个方式设置,如填写.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>
即可。