用rails实现简单的网页伪静态化

转载 2007年09月25日 22:17:00

所谓网页的静态化,本来是指的动态网页为了提高访问速度,把原本需要动态生成的每一个网页,在硬盘上生成一个静态的文件,从而大幅度提高对动态内容请求的速度,减轻服务器的负载。

伪静态化,就是指的,虽然从网址上看是一个静态的网页(以.html结尾),但实际上是动态生成的页面。比如 http://www.somesite.com/topic2/1234.html,从网址上看似乎是一个位于网站topic2目录下的一个纯html文件,但是服务器在收到topic2/1234.html 的请求时,是按照预先设定好的规则,把这个请求转换成动态的指令,也就是说,上面的请求在服务器内部也许会转化成 http://www.somesite.com/showtopic.php?category=2&id=1234。

 说了这么多,究竟伪静态化有什么用呢?其中一个重要的理由,就是可以提高页面对搜索引擎的权重,google等搜索引擎,比较偏爱收录静态化的网页,而不是带着一堆参数的动态url的网页,所以,在SEO上,网页伪静态化是很重要的一部分。

实现伪静态化的方法有很多,目前主要是用apache中的url_rewrite模块,对传入的url请求进行重写,在rails里,更是提供了一整套url生成机制,生成“pretty url”。

在rails里,显示某个文章或者topic的典型url格式是:

:controller/:action/:id

比如: http://www.a-rails-site.com/topic/show/80

整个url很漂亮和简洁,唯一的缺点就是后缀没有.html,其实,只要很少的修改,就可以达到伪静态化的效果。

只要把link_to生成显示文章的连接稍改一下,就可以了:

原来是:
<%= link_to :controller => 'topic', :action => 'show', :id => topic.id %>

现在我们只要把后面改一下,改成:
<%= link_to :controller => 'topic', :action => 'show', :id => "#{topic.id}.html" %>

这样,就生成了类似http://www.a-rails-site.com/topic/show/80.html的格式,而且其他的部分不用更改。因为在controller中,一般通过:id找到文章,类似:

@topic = Topic.find(params[:id])

传入的:id是字符串,find之前,要对传入的:id参数做to_i处理,"80.html"经过to_i之后就是80,所以只要是类似的:id格式,都可以修改一下link_to就达到伪静态化的效果了~

 

 

相关文章推荐

JSP/Servlet伪静态网页实现[转]

1.为JSP和Servlet配置WindowsXP(SP2)+Apache 2.0.52+Tomcat 5.0.28+JDK 1.5.0_09+mod_jk2.0.4整合第一步:下载所需的安装文件To...

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

利用Mircosoft URLRewriter.dll实现页面伪静态昨天,转贴了一篇利用ISAPI筛选器来实现URL伪静态的文章,我按照文章上的内容做,可是没有做出来,目前看来,该方法没有使用Micr...

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

方法一:利用Httphandler实现URL重写(伪URL及伪静态) 我们有时候会见到这样的地址:“http://www.huoho.com/show-12-34.html”,你或许认为在站点服...

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

方法一:利用Httphandler实现URL重写(伪URL及伪静态) 我们有时候会见到这样的地址:“http://www.huoho.com/show-12-34.html”,你或许认为在站点服...
  • jxqvip
  • jxqvip
  • 2011年08月23日 10:51
  • 25769

PHP伪静态化页面的实现.txt

  • 2012年03月14日 16:13
  • 3KB
  • 下载

在ASP.NET WebForm简单实现伪静态,通过(System.Web.Routing)

开发环境:VS2010      VS2010已经集成了Routing组件,在ASP.NET MVC中,我们通过URLRouting实现了Controller,Action的URL控制。在WEBF...
  • wyqlxy
  • wyqlxy
  • 2011年08月25日 13:08
  • 2659

伪静态网页配置

  • 2013年09月11日 16:52
  • 25KB
  • 下载

urlrewriter实现jsp页面的伪静态化

urlrewriter.jar包的官方下载地址:http://tuckey.org/urlrewrite/ 若是下载不了,可以通过http://download.csdn.net/detail/liu...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用rails实现简单的网页伪静态化
举报原因:
原因补充:

(最多只允许输入30个字)