页面静态化处置
http://www.iteye.com/topic/242508
最近要开发咨讯类网站,想做部分静态化处理,比如客户的详细信息内容,用FreeMarker生成静态页响应。
应用的WEB Server是Apache,Application Server是Tomcat。
静态页用了FreeMarker生成。
业务逻辑如下,客户发布信息,经过审核入库,并通过FreeMarker生成静态页,把生成的页面地址存入库。
前台访问的时候直接读静态地址响应客户。
现在有一个问题,比如那个静态页被别人删除了,再次访问的时候会出现404页面不存在错误,
有没有方法判断页面存在否?
加个过滤器行吗,/*那种,访问html前先判断是否页面存在??
用filter就没劲了,静态变成动态了。在IIS或apache中设置404的处理页面就可以了,直接用webserver访问静态页面,否则就失去了静态化的意义。
用URL Rewrite方便些
- RewriteEngine On
- RewriteCond %{REQUEST_FILENAME} !-s
- RewriteRule list_(\d+)_(\d+).html$ /app_news/news_list.action?category=$1 &page=$ 2
现在访问
http://www.abc.com/news/list_1_3.html
如果存在list_1_3.html文件,那么就直接返回结果。如果不存在,就会访问/app_news/news_list.action?category=1&page=3
更多的去查查文档
给楼主一点建议:
1.首页的更新方式有两种,一种就是从数据库读,另外一种就是手工修改。一般来说咨询网站的首页都是两种方式一起使用的,不会只用一种。
2.每次生成首页不是都全部重新生成,而是将首页按板块分成很多小的HTML文件,采用SHTML的方式整合在一起。需要更新哪一块就更新哪一块。而且将整个首页全部重新生成。
3.单篇稿件的文件名建议采用存在数据库中的ID做表示,在文件被删除后,又404触发,重新生成文件并返回给用户。