C#伪静态实现的方法

在asp.net开发网站的时候,我们经常会用到伪静态,好处是可以隐藏真实的路径,提高网站的安全性,在官网等展示网站希望对搜索引擎友好,提高搜索排名;或者在涉及到模板开发都会用到伪静态。下面讲解下平时用到的伪静态实现方法。

一、方法一:

使用URLRewriter.dll下载地址:http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi

1在启动文件中添加URLRewriter.dll文件引用,然后在web.config文件configuration节点下添加一下代码

<configSections>
    <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
    </sectionGroup>
  </configSections>

2在system.web节点下添加一下代码

<compilation>      <buildProviders>        <add extension=".html" type="System.Web.Compilation.PageBuildProvider"/>      </buildProviders>    </compilation>

<httpHandlers>
      <add verb="*" path="*.html" type="System.Web.UI.PageHandlerFactory"/>
    </httpHandlers>
    <httpModules>
      <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
    </httpModules>

3在configuration节点下添加一下重写url代码(正则表达式)

<RewriterConfig>
    <Rules>

      <RewriterRule>
        <LookFor><![CDATA[~/shop/(\w+)?]]></LookFor>
        <SendTo><![CDATA[~/vshop/wechat/order/index.aspx?uid=$1]]></SendTo>
      </RewriterRule>

      <RewriterRule>
        <LookFor><![CDATA[~/tupian/(\d+)/.html]]></LookFor>
        <SendTo><![CDATA[~/web/admin/other/$1.ashx]]></SendTo>
      </RewriterRule>

    </Rules>
  </RewriterConfig>

二、方法二
在.net3.5版本开始,提供了System.Web.Routing,程序可以自己写伪静态方法

添加一个ReWriteUrl.cs文件,代码如下:

public class ReWriteUrl : IRouteHandler
    {
        public string UrlRote
        {
            get;
            private set;
        }
        public ReWriteUrl (string sUrlRote)
        {
            UrlRote = sUrlRote;
        }
        public IHttpHandler GetHttpHandler(RequestContext requestContext)
        {
            return BuildManager.CreateInstanceFromVirtualPath(UrlRote, typeof(IHttpHandler)) as IHttpHandler;
        }
    }

在Global.asax.cs文件下的Application_Start函数里

 protected void Application_Start(object sender, EventArgs e)
        {
            RouteTable.Routes.Add( new Route("xxxx.html", new REWriteUrl("~/xxxx.ashx")));//地址重写
        }

.net技术交流QQ群:320128737

时间: 2024-10-03 10:49:22

C#伪静态实现的方法的相关文章

ASP.NET URL伪静态重写实现方法

ASP.NET URL伪静态重写实现方法 首先说下,ASP.NET URL伪静态只是将~/a_1.html指向到了~/a.aspx?ID=1,但a.aspx还是真实存在的,你不用./a_1.html来访问,用./aaa.aspx?ID=1也是可以访问的,伪静态并会真的把你的a.aspx变为a.html 在web.config里设置如下: <?xml version="1.0" encoding="utf-8" ?> <!--overred-->

iss下伪静态生成规则方法

生成一个名叫web.config文件,放在网站的根目录下,内容设置如下: <?xml version="1.0" encoding="UTF-8"?><configuration>    <system.webServer><!--将下面的规则添加到这里-->    <rewrite>        <rules>            <rule name="index&quo

一般网站伪静态的制作方法

改.htaccess文件 写规则 然后把apacahe 调rewrite 写完这个.htaccess文件里的规则就可以了吗? 两个步骤 先写htaccess文件规则 然后根据你的运行环境,apacache或者nginx 里面开启rewrite 文件规则 跟写正则表达式差不多 本文是自己制作网站时总结出来的经验,希望对大家有帮助,想看更多的网页制作的知识,请看网站:www.52webhome.com 一般网站伪静态的制作方法

三种实现PHP伪静态页面的方法

PHP伪静态写法--其一 伪静态又名:URL重写  主要是为了SEO而生的.(SEO是什么?这个不用问我吧.呵呵-搞网络的不懂SEO那就----) 方法一: 比如这个网页 /soft.php/1,100,8630.html 其实处理的脚本是soft.php 参数为1,100,8630 相当于soft.php?a=1&b=1=100&c=8630 只不过这样的URL太难记.搜索引擎也不喜欢. 真静态只是完全生成了HTML. 客户端访问的时候直接输出.不用脚本解释.在流量非常大的时候(比如每天

UrlRewritingNet伪静态的使用方法与解决方案(URL重写)

在建站初期时,我们往往需要考虑的是使用真静态还是伪静态,这对于往后的站点配置,延展性都会产生深远的影响. 我使用伪静态的唯一目的:SEO优化.毋容置疑,伪静态在对于Spider是非常有利的,因此,我更倾向于在建站时就搭建伪静态. 使用UrlRewritingNet搭建站点伪静态,构造URL重写. 1.下载Intelligencia.UrlRewriter.dll.UrlRewritingNet.UrlRewriter.dll与UrlRewriter.dll,并在项目中引用: 2.配置webcon

JSPGenCMS伪静态完美解决方法

如何解决一个网站的静态化问题.整个过程总共分为2步,通过添加一些配置代码.映射代码就可以解决静态化问题了. JSPGenCMS功能简单实用.安全稳定,JSPGenCMS虽然拥有整站静态化功能以及定时自动静态化功能,但很多朋友为节省空间不愿生成静态文件,又想实现静态化地址访问,在今天可以解决这个问题了. 1.下载JSPGenCMS4.0+版本:http://www.jspgen.com/cms/node.gen?id=112.服务器环境采用Tomcat6+.Nginx1.13+ 操作目标:我们要使

网站二级目录或者子目录安装 WordPress 伪静态规则设置方法,服务器为nginx

前几天写的那个博客有个bug,导致后台无法进入,发现是302问题. http://ningyuqiao.blog.51cto.com/5581274/1615552 比如:网站为http://ningyuqiao.51cto.com/blog location /blog/ { if (-f $request_filename/index.html){                 rewrite (.*) $1/index.html break;         } if (-f $requ

Windows服务器下用IIS Rewrite组件为IIS设置伪静态方法

1.将下载的IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下,IIS Rewrite 组件下载 http://www.helicontech.com/download-isapi_rewrite.htm , IIS Rewrite 简化版组件下载 http://www.newhua.com/soft/71446.htm ,下载下来解压后不用安装拷到目 2.将下载的IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下,IIS Rewrite 组件

ASP.NET 实现伪静态网页方法

方法一:利用Httphandler实现URL重写(伪URL及伪静态) 我们有时候会见到这样的地址:“http://www.huoho.com/show-12-34.html”,你或许认为在站点服务器根目录“/”下存在名为“show-12-34.html”的文件,其实实际它可能是不存在的,而可能你看到的内容是“/aspx/show.aspx?type= 12&id=34”的内容,为什么要这样做呢?原因有多个方面:首先是增强URL的友好性,记“show-12-34.html”总比 “/aspx/sh