Url重写之UrlRewriter

噢 噎死。。。   来看看UrlRewriter这个老古董。猛击这里下载Demo

Url重写之UrlRewriter_第1张图片

1、  添加 UrlRewriter.dll 到 bin目录中

Url重写之UrlRewriter_第2张图片

2、configSections 节点中添加

 <configSections>
    <section name="ReplaceUrl" type="URLRewriter.Config.UrlsSection, URLRewriter"/>
</configSections>

3、httpModules节点中添加

 <httpModules>
      <add type="URLRewriter.RewriterModule, URLRewriter" name="RewriterModule"/>
</httpModules>

4、aspx页面代码

 <%@ Page Language="C#" AutoEventWireup="true" %>

<!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>UELREWRITE</title>
    <script src="JS/jquery-1.7.1.min.js" type="text/javascript"></script>
    <link href="CSS/CSS.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" language="javascript">

        $(function () {
            $.ajax({
                type: "POST",
                url: "server.action?v=" + (new Date()).valueOf(),
                cache: false,
                dataType: "html",
                success: function (data) {
                    $(".i_box_6 img").attr("src", data);
                },
                error: function () {
                    alert("oh...oh...oh...");
                }
            });
        });
    </script>
</head>
<body>
    <div class="title">
        <span>Start</span>
    </div>
    <div class="box">
        <a href="<%= ResolveUrl("index.html") %>" target="_blank">
            <div class="i_box_1">
                <p>
                    For:Index.html</p>
                <p>
                    To:default.aspx</p>
            </div>
        </a><a href="javascript:;">
            <div class="i_box_2">
                <p>
                    NONE</p>
                <p>
                    UELREWRITE</p>
            </div>
        </a><a href="<%= ResolveUrl("about.php") %>" target="_blank">
            <div class="i_box_3">
                <p>
                    For:about.php</p>
                <p>
                    To:Pages/Default.aspx</p>
            </div>
        </a><a href="javascript:;">
            <div class="i_box_4">
                <p>
                    UELREWRITE</p>
                <p>
                    NONE</p>
            </div>
        </a><a href="javascript:;">
            <div class="i_box_5">
                <p>
                    NONE</p>
                <p>
                    UELREWRITE</p>
            </div>
        </a><a href="javascript:;">
            <div class="i_box_6">
                <img />
                <p>
                    UELREWRITE</p>
                <p>
                    NONE</p>
            </div>
        </a><a href="<%= ResolveUrl("123321/20120507.html") %>" target="_blank">
            <div class="i_box_7">
                <p>
                    For:123321/20120507.html</p>
                <p>
                    To:Pages/page2.aspx?ID=123321&amp;date=20120507</p>
            </div>
        </a><a href="javascript:;">
            <div class="i_box_8">
                <p>
                    NONE</p>
                <p>
                    UELREWRITE</p>
            </div>
        </a><a href="javascript:;">
            <div class="i_box_9">
                <p>
                    UELREWRITE</p>
                <p>
                    NONE</p>
            </div>
        </a><a href="<%= ResolveUrl("news/123321") %>" target="_blank">
            <div class="i_box_10">
                <p>
                    For:news/123321</p>
                <p>
                    To:Pages/page2.aspx?ID=123321</p>
            </div>
        </a>
    </div>
</body>
</html>

 5、要实现url重写,需要在web.config  configSections节点中设置url的映射规则

 <ReplaceUrl>
    <urls>
      <add virtualUrl="~/server.action" destinationUrl="~/hander.ashx"/>
      <add virtualUrl="~/index.html" destinationUrl="~/Default.aspx"/>
      <add virtualUrl="~/about.php" destinationUrl="~/Pages/Default.aspx"/>
      <add virtualUrl="~/news/(.+)" destinationUrl="~/Pages/page2.aspx?ID=$1"/>
      <add virtualUrl="~/(.*)/(.*).html" destinationUrl="~/Pages/page2.aspx?ID=$1&amp;date=$2"/>
    </urls>
  </ReplaceUrl>

 

 

 

 

 

你可能感兴趣的:(urlrewrite)