就是将一个动态网站运行时所有的。aspx后缀名重写为。html的。
并进行界面传值时也可以将index。aspx?id=2也重写成为。html的。
还请各位大哥帮帮忙,给我这个实现代码和测试代码@!
并进行界面传值时也可以将index。aspx?id=2也重写成为。html的。
还请各位大哥帮帮忙,给我这个实现代码和测试代码@!
解决方案 »
- 校正一个误区:关于Request.QueryString[ "id "]获取前台aspx传来的正整数问题
- 求一个JS浮动层
- 【关于datalist】与隐藏div的使用问题..高分请教
- #求个正则,高手请进#
- xml移动节点????????
- new一个FileUpload,保存一个图片,当使用SaveAs时给他一个路径,但是并没有保存成功!
- 又送分了,一个语法小问题。
- 痛苦求解!
- 想请教一下怎么在Microsoft visual studio2005中添加swf文件?
- 如何用js读取cookie?
- asp.net 网站问题,急急急!谢谢各位了!多帮帮忙!
- GridView 实现用“...”代替超长字符串后 出现的问题 在线等答案
例如
<ReplaceUrl>
<urls>
<add virtualUrl="~/default.html" destinationUrl="~/default.aspx" />
</urls>
</ReplaceUrl>
以下是配置
<!-- UrlRewriter for .net2.0 配置第一步(共三步) 要放在<configuration>子节点第一个位置-->
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
</configSections>
<!-- UrlRewriter for .net2.0 配置第二步(共三步) -->
<!-- 地址重写规则 -->
<RewriterConfig>
<Rules>
<!-- 首页重写规则 -->
<RewriterRule>
<LookFor>~/Default.html</LookFor>
<SendTo>~/Default.aspx</SendTo>
</RewriterRule> <!-- 详细页面重写规则 -->
<RewriterRule>
<LookFor><![CDATA[~/qgpage_(\d)_(\d).html]]></LookFor>
<SendTo><![CDATA[~/qgpage.aspx?id=$1&type=$2]]></SendTo>
</RewriterRule> <!-- 类别页面重写规则 -->
<RewriterRule>
<LookFor>~/category/(\d{1}) </LookFor>
<SendTo>~/category.aspx?id=$1 </SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<!-- UrlRewriter for .net2.0 配置第三步(共三步)放在<system.web> -->
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
</httpHandlers>
最后改动页面上的链接把连到.aspx都按照规则改成.html就可以了
我怎么在。aspx。cs中写什么
可以达到url重写的效果
请参考
</system.web>结束符
并<rewriter>
<rewrite url="~/test_([a-zA-Z]+).html$" to="~/Show.aspx?Code=$1" processing="stop" />
</rewriter>
这段报错
<configSections>
<section name="urlrewritingnet" requirePermission ="false" type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter" />
</configSections>
<urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage = "Default.aspx" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
<rewrites>
<add name="RewritePhoto" virtualUrl="^~/(\d+).html"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/Default.aspx?ID=$"
ignoreCase="true" />
<!--更多重写规则-->
</rewrites>
</urlrewritingnet>
<appSettings/>
<connectionStrings/>
<system.web>
<httpModules>
<add name="UrlRewriteModule"
type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
</httpModules> <compilation debug="true"/> <authentication mode="Windows"/>
</system.web>
<system.codedom>
</system.codedom> <system.webServer>
</system.webServer>
</configuration>
<form id="form1" runat="server">
<div>
<%
Response.Write("原始URL:" + Request.RawUrl + "<br/>");
Response.Write("获取的ID:" + Request.QueryString["ID"]);
%> </div>
</form>
</body>
2.重写规则举例:<urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage="default.aspx" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
<rewrites>
<add name="Rewrite1" virtualUrl="^~/DDDD(.*).html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/GoodsDetail.aspx?GoodsID=$1" ignoreCase="true"/>
</rewrites>
</urlrewritingnet>
3. IIS设置:
IIS配置:网站->属性->目录->配置(G)...->映射->应用程序扩展->添加
可执行文件:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll
扩展名:.html
动作:限制为 GET,HEAD,POST,DEBUG
脚本引擎:选中
确认文件是否存在:不选4.测试:
按照举例的重写方式:
假如页面有一个HyperLink 控件:
没有采用伪静态的话URl是:NavigateUrl="~/GoodsDetail.aspx?GoodsID=1"按照我写的规则则变为:NavigateUrl="~/DDDD1.html"
OK
将你的错误列出来,我能解决,我用的就是URLRewrite,我网站:
http://www.565388.com
我就建立了Default.aspx
运行,他的url、还是"Default.aspx
protected override void Rewrite(string requestedPath, HttpApplication app)
{
if (requestedPath.Contains("A/2.html"))
app.Context.RewritePath("/a.aspx?id=2");
}
}
<RewriterRule>
<LookFor>~/web/new/(.[\d]*).html</LookFor>
<SendTo>~/web/new.aspx?id=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/web/new/(.[\w]*)/(.[\w]*).html</LookFor>
<SendTo><![CDATA[~/web/new.aspx?id=$1&name=$2]]></SendTo>
</RewriterRule>