简述:

在我们浏览网站的时候,很多都是以.html结尾的。难道这些都是静态网页么?其实不是的,它们很多是伪静态

那么什么是伪静态?顾名思义,就是假的静态页面。通过某种设置让你看成是静态的。

Q:为何要使用伪静态? A:因为可以提高网站安全性,让别人不能一眼看出你的网站是什么语言开发的。

PS:目前本人只学了.net,那么就以(webform)和 (MVC)网站为例进行详解。

开始正文:

1.在webform中实现伪静态

首先建立一个webform网站,然后我参考博客:http://www.cnblogs.com/net-xiejun/p/4456044.html 中的第二种方法实现了下

添加一个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;}}

View Code

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

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

这里我将Default.aspx重写了下,如下

  RouteTable.Routes.Add(new Route("111.html", new ReWriteUrl("/Default.aspx")));//地址重写

现在用Default.aspx和111.html都能实现访问了,不信?看下图

2.在MVC中实现伪静态

MVC就更简单了,只要修改下路由配置就可以了!~

访问如下:

MVC完整重写配置代码如下:

routes.MapRoute(  "Action1Html", // action伪静态    "{controller}/{action}.html",// 带有参数的 URL    new { controller = "Home", action = "Index", id = UrlParameter.Optional }// 参数默认值
   );  routes.MapRoute(  "IDHtml", // id伪静态    "{controller}/{action}/{id}.html",// 带有参数的 URL    new { controller = "Home", action = "Index", id = UrlParameter.Optional }// 参数默认值
   );  routes.MapRoute(  "ActionHtml", // action伪静态    "{controller}/{action}.html/{id}",// 带有参数的 URL    new { controller = "Home", action = "Index", id = UrlParameter.Optional }// 参数默认值
    );  routes.MapRoute(  "ControllerHtml", // controller伪静态    "{controller}.html/{action}/{id}",// 带有参数的 URL    new { controller = "Home", action = "Index", id = UrlParameter.Optional }// 参数默认值
    );  routes.MapRoute(  "Root",  "",  new { controller = "Home", action = "Index", id = UrlParameter.Optional });//根目录匹配
  routes.MapRoute(  name: "Default",  url: "{controller}/{action}/{id}",  defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }//默认配置  );  

上面的配置完了 注意还得在webconfig <system.webServer>中添加:

<modules runAllManagedModulesForAllRequests="true" /><add name="HtmlFileHandler" path="*.html" verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>

OK,就这么多了! 小伙伴们快去试试吧~

转载于:https://www.cnblogs.com/shuai7boy/p/6235336.html

Url重写——伪静态实现相关推荐

  1. asp.net 使用UrlRewritingNet.UrlRewriter组件URL重写,伪静态详解

    目录 URL重写的业务需求 ReWritingNet组件主要功能 配置IIS(IIS7/8环境下) 程序代码 重写规则 一,URL重写的业务需求 顾客可以直接用浏览器bookmark功能将页面连结储存 ...

  2. 使用ISAPI_Rewrite对asp.net实现URL重写伪静态

    ISAPI_Rewrite利用IIS的ISAPI实现URL重写的,ISAPI_Rewrite是一个工具,下载地址为:http://www.isapirewrite.com/download/isapi ...

  3. 配置伪静态(URL重写)

    本篇借鉴了很多文章,这里做个记录. 有时我们的导航栏出现xx.aspx?id=x&name=xx 等等这样,会显得不好看,我们可以利用伪静态来美化我们的导航栏,伪静态的形式可以自己定义,本质还 ...

  4. thinkphp伪静态(url重写)

    1. 服务器开启url_rewrite功能,linux空间的php虚拟主机只需要开启apache的mod_rewriet,如果是iis6.0就要安装ISAPI Rewrite模块,apache只要开启 ...

  5. php html 伪静态,php 伪静态(url重写)的写法

    来看下面这个网页 url: http://www.jbxue.com/test.php/1,100,8630.html 其实处理的脚本是test.php 参数为1,100,8630 相当于test.p ...

  6. ASP.NET伪静态 UrlRewrite(Url重写) 实现和配置

    核心提示:大家一定经常在网络上看到很多网站的地址后缀都是用XX.HTML或者XX.ASPX等类似静态文件的标示来操作的吧,那么大家有怀疑过他真的是一个一个的静态生成的文件么,静态文件的生成的优缺有好有 ...

  7. 谈用伪静态(url重写)的方法替代生成静态页面的好处

    来自Asp.net精英论坛:bbs.1aspx.com 什么是伪静态(url重写),URL 重写是截取传入Web 请求并自动将请求重定向到其他 URL 的过程.比如浏览器发来请求 :http://ww ...

  8. apache php url重写语法,apache url重写实现伪静态

    前段时间项目为了配合seo的工作,把现有的php网站改成静态页面,刚拿到需求时候第一感觉就是用静态页面啊,可是看了一会以后发现页面有点多4.50个,没办法就用比较简单的url重写(apache的)吧, ...

  9. iis5.1/6.0/7.0+ 配置url重写 无扩展名伪静态

    最近在搞url重写 遇到iis 无扩展名及html映射问题 供后人查看 因为考虑功能比较多(URLRewriter组件有些功能满足不了要求)所以就用了HttpModule方法重写 iis5.1中 添加 ...

  10. ThinkPHP URL模式和URL重写

    现在用的版本是TP3.1.3,这两天总是遇到NotFound的错误,解析路径错误,所以认真研究了一下手册,发现问题出在URL模式上面. URL模式 一般是使用U方法来生成路径,U方法的定义规则如下(方 ...

最新文章

  1. SpringBoot2.3 修改响应头、添加更新token、解决在过滤器中修改失败
  2. HDU 4035 Maze(树形概率DP)
  3. pytorch VIF(VIT 改)快了两倍
  4. 使用Jsonp实现跨域请求
  5. git钩子放服务器_linux服务器布置git 并带钩子
  6. html转图片_jupyter lab 笔记添加图片的方法汇总
  7. java记事本保存_JAVA记事本关于保存
  8. Android模拟器中sd卡的创建和文件的上传
  9. 超34款吸费手机被曝光下架 天语TCL大显等在其中
  10. 最新版本elasticsearch本地搭建入门篇
  11. 如何在macOS中关闭优化电池充电功能?
  12. 解决Kaggle新用户注册无法弹出验证提示的问题
  13. python如何输入整数求和_Python如何输入数字并求和
  14. SQL server 删除注册表
  15. 卡尔沃宁方法 | 计算运动目标心率
  16. wps-奇数偶数页眉不同设定方法
  17. 百面机器学习02-模型评估
  18. 计算机三级网络技术资料分享
  19. Mysql死锁问题,详细分析
  20. 【转】期限结构Carry收益 期货多品种对冲模型

热门文章

  1. 计算机在教育中的应用利与弊,多媒体教学的利与弊
  2. 写给电脑小白的电脑科普
  3. S32K的flexcan组件can fd使用
  4. 自动刷新徐小明股市直播内容
  5. 便宜又大碗!AI将画廊轻松搬到自家墙壁;用隐写术在图像中存储文件;免费书·算法高维鲁棒统计;关节式手部模型数据集;前沿论文 | ShowMeAI资讯日报
  6. 图形数字化工具 - getData
  7. 光纤尾纤的型号和作用有哪些?
  8. 计算机组成原理课程设计:复杂模型机
  9. 银联在线支付B2C UnionPay.NET
  10. 【阿里云视频点播加密视频播放报错】:网络错误加载数据失败(fragLoadError)或者403