自己 在网络上 找了两种方式,重写url.
第一种地址
利用Intelligencia.UrlRewriter.dll实现URL重写
第2种地址:
这要两个 Dll文件。
http://www.cnblogs.com/Ferry/archive/2009/06/19/1506770.html
1.下载Intelligencia.UrlRewriter.dll文件 urlrewriter.net 2.添加引用 3.设置Web.Config配置文件 <?xml version="1.0" encoding="utf-8"?> <configuration>
<rewriter> 4.新建两个页面(Default.aspx,UrlRewtite.aspx) Default.aspx界面 public partial class _Default : System.Web.UI.Page UrlRewtite.aspx 界面 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestUrlRewrite.aspx.cs" Inherits="WebPractise.TestUrlRewrite" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > 5.用户看到的是浏览123.html,实际上是由Default.aspx界面 处理的。 注意: 当使用通配符映射或者使用ASP.NET处理所有HTTP请求的时候,IIS的默认文档机制也就失去了该有的作用,以下代码就是用来重新实现默认文档的方法: <rewrite url="^(.*)/(/?.+)?$" to="$1/default.aspx$2" /> 注意:使用“processing="restart"”的时候将会导致重写引擎从头开始执行所有的重写规则,此时应当注重包含“/default.aspx”字符串的处理。 如果你需要同时支持多个默认文档,那么以上代码需要修改为: <if url="^(.*)/(/?.+)?$"> <rewrite exists="$1/default.aspx" to="$1/default.aspx$2" /> <rewrite exists="$1/index.aspx" to="$1/index.aspx$2" /> <rewrite exists="$1/index.html" to="$1/index.html$2" /> </if> 编辑以上规则代码的时候,尤其要注意确认文件是否存在。 此外,在使用通配符映射或者使用ASP.NET处理所有HTTP请求的时候,你会发现.gif、.css等文件无法正常访问,这是因为此时对这些文件类型的处理都被ASP.NET所拦截。修正方法如下: <rewrite url="^(/.+(/.gif|/.png|/.jpg|/.ico|/.css|/.js)(/?.+)?)$" to="$1" processing="stop" /> 两个比较特殊的正则表达式字符是“^”和“$”(不是必须的),“^”代表URL的开头,“$”代表URL的结尾。使用这两个符号可以使您更加精确的控制重写动作,以确保程序所匹配的URL正是您想处理的。 “~/”表示当前网站应用程序运行所在的虚拟根目录,当您把网站应用程序安装于虚拟目录(或者非根目录)的时候,这尤其有用,而无须重新编写任何代码来替换您的虚拟根路径。 模式匹配在处理查询字串(QueryStrings)的时候尤其有用,这可以让您的URL去掉类似于“?id=3”的代码段,这非常有用,可以让你轻松的实现伪静态。 下面列出两个我们认为非常有特色的重写规则: (1) 当目标URL不包含自定义查询字串的时候: <rewrite url="^~/mypage(/?.+)?$" to="~/default.aspx$1" /> 此时“$1”匹配的是(/?.+)?,也就是所有的查询字串。 (2) 当目标URL包含自定义查询字串的时候: <rewrite url="^~/mypage(/?(.+))?$" to="~/default.aspx?page=mypage&$2" /> 注意此时需要使用“&”来代替“&”,这是XML文档语法的需要。
输出这种格式 shop目录+xxx.jsp 的url重写怎么做
改 正则表达式
<rewriter>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>无标题页</title> </head> <body> <form id="form1" runat="server"> <div> <a href="123.html" mce_href="123.html">test</a> <a href="test/beijin.html" mce_href="test/beijin.html">北京</a> <a href="test/shanghai.html" mce_href="test/shanghai.html">上海</a> <a href="test/wenzhou.html" mce_href="test/wenzhou.html">温州</a> </div> </form> </body> </html>
做了重写怎么配置 iis 服务? 参考这两个网站 http://urlrewriter.net/index.php/support/installation/windows-server-2003 http://www.cnblogs.com/adandelion/archive/2007/07/29/835078.html |