- 浏览: 649355 次
- 性别:
- 来自: 青岛
文章分类
最新评论
-
mojingqing:
感谢!
MySQL修改my.ini后,出现错误:Incorrect information in file: '.\xx\xx.frm -
qq3061280:
qq3061280 写道
FATAL ERROR in native method: JDWP No transports i -
qq3061280:
FATAL ERROR in native method: JDWP No transports i -
xiebo1983:
http://sqkoo.com/mysql-function ...
Date format -
java_xiaoyi:
...
[SQLServer]传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确
urlrewritefilter 下载: http://tuckey.org/urlrewrite/#download
所用基于动态的url http://www.nihaoblog.com/content.jsp?id=1&contentid=404按照各大搜索引擎的喜好,应该美化成http://www.nihaoblog.com/content/1_404.html静态网页的方式,尽管目前的google及几大搜索引擎宣称支持动态页网的抓取,但与传统的html文件相比较抓取率仍不在一个数量级。Apche的mod_rewrite模块具有此功能,但是对于租用虚拟主机的用户来说就比较麻烦不太可能对所有运营商有更多的要求,需要条件依赖就不具通用性。
2、配置web.xml
xml 代码
- <filter>
- <filter-name>UrlRewriteFilter</filter-name>
- <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>UrlRewriteFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
3、配置urlwrite规则文件WEB-INF/urlrewrite.xml
xml 代码
- <rule>
- <from>/content/([0-9]+)_([0-9]+).html</from>
- <to>/content.jsp?id=$1&contentid=$2</to>
- </rule>
注意:有多个参数时,中的连接符号&应该是&
每个网页或请求都是一个url地址,一般,这个地址可能是.do,.page,.action之类的并加上'?'号、'&'号查询串等构成的一个长长的的url。很urgly。
一般的url----------------------------------------------------------较好的url
http://www.xxx.net/user/profile.do?id=20001 ====> http://www.xxx.net/user/20001
http://www.xxx.net/forum/board.do?name=java ====> http://www.xxx.net/forum/java
http://www.xxx.net/forum/thread.do?id=29923 ====> http://www.xxx.net/thread/29923
后者明显较为直观和漂亮。
使用url rewrite可以很好的改善这个状况。网站url rewrite应用是非常广泛的,良好的url设计给用户带来的非常好的体验,同时也能吸引搜索引擎的注意。
一种rewrite称为一个规则,上面的例子就是3个规则。rewrite技术可以在代理服务器实现,或者可以在tomcat之类的java web服务器实现。 Apache HTTP Server 2.x 和 mod_proxy提供了不错的Rewrite处理方法。so如果使用apache,则直接在apache中配置Rewrite即可。但是对于没有使用代理,或者不完全要在代理服务器配置Rewrite的web应用,通过第三方Jar包也是可以实现很perfect的rewrite技术的。这是本帖的着重点。
这个第三方包的地址是:http://tuckey.org/urlrewrite/ (待会再去这个网站,现在先别去)
这个包使用正则表达式仿照了apache rewrite的做法。而实现原理也是很明晰的:filter,forward,redirect机制组合:
在web.xml配置一个UrlRewriteFilter,拦截所有进来的请求,对服务要求的请求进行rewrite。比如,对http://www.xxx.net/user/([0-9]+)请求,forward到/profile.do?id=$1。这就是一条规则。在这个第三方包中的规则文件urlrewrite.xml中可以这样定义:
- <rule>
- <from>^/user/([0-9]+)/?$from>
- <to type="forward">/profile.do?id=$1to>
- rule>
对我来说,一般我会配置一个通用的rule,使所有没有包含"."的url forward到.do的action上来(本人使用strut做系统较多)
- <rule>
- <note>
- - 这是一个通用请求url rewrite
- - 将请求forword url加上“.do”的处理器上。
- - 例:
- - 请求 http://{domain}/user/login 将被forward到 http://{domain}/user/login.do
- - 请求 http://{domain}/user/login/ 将被forward到 http://{domain}/user/login.do
- - 请求 http://{domain}/user/logout/ 将被forward到 http://{domain}/user/logout.do
- note>
- <from>^/([_a-zA-Z]+[_0-9a-zA-Z-/]*[_0-9a-zA-Z]+)/?$from>
- <to type="forward">/$1.doto>
- rule>
上面只是介绍个大概,并不是urlrewriter这个jar包的使用指南。如果你觉得这种rewrite做法不错的话,不如直接访问这个网站吧 http://tuckey.org/urlrewrite/
第一步:从http://tuckey.org/urlrewrite/ 上下载urlrewrite-3.0.3.jar包,放到webapp classpath下
第二步:在web.xml配置UrlRewriteFilter:
- <filter>
- <filter-name>UrlRewriteFilterfilter-name>
- <filter-class>
- org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
- filter-class>
- <init-param>
- <param-name>logLevelparam-name>
- <param-value>WARNparam-value>
- init-param>
- filter>
- <filter-mapping>
- <filter-name>UrlRewriteFilterfilter-name>
- <url-pattern>/*url-pattern>
- filter-mapping>
第三步:在web-inf下新建urlrewrite.xml文件,简单填入以下内容:
- <!---->xml version="1.0" encoding="utf-8"?>
- "http://tuckey.org/res/dtds/urlrewrite3.0.dtd">
- <urlrewrite>
- <rule>
- <note>
- - 这是一个通用请求url rewrite
- - 将请求forword url加上“.do”的处理器上。
- - 例:
- - 请求 http://{domain}/user/login 将被forward到 http://{domain}/user/login.do
- - 请求 http://{domain}/user/login/ 将被forward到 http://{domain}/user/login.do
- - 请求 http://{domain}/user/logout/ 将被forward到 http://{domain}/user/logout.do
- note>
- <from>^/([_a-zA-Z]+[_0-9a-zA-Z-/]*[_0-9a-zA-Z]+)/?$from>
- <to type="forward">/$1.doto>
- rule>
- urlrewrite>
第四步:启动web应用,将原来需要.do的请求改为去掉.do后请求,看看结果。
第五步:更详细的规则定义,请看http://tuckey.org/urlrewrite/manual/3.0/
转自:http://www.nihaoblog.com/1_733.html http://www.iteye.com/article/53834
评论
发表评论
-
Mac 安装MySQL
2016-01-30 19:25 734Mac版MySQL安装时,可以下载dmg版的安装文件 h ... -
SSH 源码下载
2014-11-17 23:41 798Struts源码 http://archive.apac ... -
weblogic 应用配置
2010-06-25 08:15 1257最近要把项目转到weblogic上,因此将我自己如何配置程序应 ... -
lighttpd 域名相关问题解决(转)
2010-01-21 16:57 1100所需模块:server .modules = ( &quo ... -
server-status 权限设置
2010-01-21 16:54 1087ExtendedStatus On SetEnvIf Hos ... -
LightTPD for Windows
2010-01-16 11:37 989LightTPD for Windows: http://e ... -
JkLogFile 按时间分割日志
2009-12-31 16:43 1842JkLogFile "|C:/apache2.2/b ... -
windows下配置Mysqlreport监视工具
2009-12-03 10:12 2470需要的工具: 1:perl脚本解析工具:http://www ... -
spring c3p0的配置参数说明
2009-10-12 09:21 1139applicationContext.xml 文件: < ... -
取消Eclipse的自动代码格式化
2009-07-06 13:59 2020前段时间在Eclipse里面设置了java文件保存时自动格式化 ... -
Apache+Tomcat 泛域名配置
2009-07-03 17:26 3306Apache与Tomcat的结合在此就不赘述,详情可参考 ... -
Apache+tomcat 集群 查看JK Status
2009-06-22 08:43 4890有两种方法: 方法1: 在workers.properti ... -
在firefox3.5 下安装 page speed
2009-06-15 09:11 2632Steps Download the page-s ... -
Page Speed 下载
2009-06-05 17:24 3775Page Speed 下载链接 http://code.go ... -
安装版tomcat tomcat6w.exe参数配置
2009-05-11 15:28 4994双击 tomcat6w.exe 选择 Java->Jav ... -
js 传参
2009-04-29 13:23 1675<script > function getQu ... -
编辑页面,修改charset后,css不能控制页面显示
2009-02-23 10:24 1607最近编辑页面时,修改了一些页面的编码形式,把原来不是chars ... -
apache + tomcat 一个网站多域名
2009-02-04 13:40 1549因此处是进行多域名设置,所以 Apache 与 tomcat的 ... -
访问 Apache很慢
2008-12-19 16:07 2853现在公司的网站访问量很大,导致后台频繁报错,并且打开一个静态页 ... -
解决Apache日志文件ACCESS.LOG日益膨胀的一个办法
2008-11-22 14:07 2409从网上搜索了一些资料的解决方法 写道 将httpd.conf中 ...
相关推荐
下面我们将深入探讨.NET页面静态化的核心概念、实现方法以及其优势。 一、页面静态化原理 页面静态化的基本思想是,在用户请求动态内容时,服务器不再实时生成动态页面,而是直接返回已经生成的静态HTML文件。这...
Java页面静态化主要有两种方式:服务器端静态化和客户端静态化。 1. 服务器端静态化: - **预渲染(Prerendering)**:在用户请求之前,系统自动将一些常用或者热点页面生成静态HTML文件,存储在文件系统或CDN上。...
1. **JSP页面静态化原理**: - JSP页面静态化的核心思想是将原本需要服务器实时解析的动态内容,提前转换为静态HTML文件,存储在服务器上。这样,当用户请求这些页面时,服务器不再需要执行JSP脚本,而是直接返回...
在进行页面静态化时,我们还需要考虑一些问题,比如如何处理动态内容(如用户登录状态、个性化推荐)、如何同步静态文件和动态数据、以及如何清理过期的静态文件等。这些问题可以通过设计合理的缓存策略和定时任务来...
因此,页面静态化是提升网站性能的有效手段。 页面静态化技术的核心原理是通过解析动态网页的URL,生成对应的HTML文件,并存储在服务器的文件系统或缓存中。当用户请求该URL时,服务器直接返回预先生成的HTML,而...
PHP页面静态化是一种常见的优化网站性能的技术,它将动态生成的网页内容转化为静态HTML文件,以便浏览器可以直接加载,而无需每次请求时都执行PHP脚本和查询数据库。这样可以显著提高页面加载速度,减轻服务器负担,...
在ASP.NET中,动态页面静态化主要有两种方式:预编译(Precompilation)和运行时静态化(Runtime Output Caching)。 1. 预编译: 预编译是ASP.NET提供的一种在部署前将所有ASPX页面转换为编译好的DLL文件的过程。...
### ASP.NET 动态页面静态化详解 #### 一、概念理解 动态页面静态化(Dynamic Page Staticization)是指将动态生成的网页内容转换为静态HTML文件的过程。这一技术广泛应用于提高网站性能、优化SEO(搜索引擎优化)...
这个压缩包文件"ASP.NET页面静态化例子带数据库.rar"包含了实现这一技术的具体示例,很可能是通过代码、数据库脚本和配置文件来展示的。 首先,我们要理解ASP.NET页面静态化的概念。在ASP.NET中,通常网页是动态...
其中一种常见的方法就是实现页面静态化。本文将详细介绍如何使用 PHP 来实现页面静态化,包括纯静态化和伪静态化两种方式,并通过具体的案例进行演示。 #### 二、基础知识 **页面静态化**是指将动态生成的网页转换...
**JSP页面静态化技术详解** 在Web开发中,JavaServer Pages(JSP)是一种常见的动态网页技术,它允许开发者将HTML代码与Java代码混合编写,以实现动态内容的生成。然而,在高流量的网站中,为了提高性能和降低...
实现页面静态化的方法有多种,包括后台定时生成、用户访问时实时生成或缓存等。 在PHP中,我们可以利用文件系统操作函数来读写静态HTML文件。例如,当用户访问一个动态页面时,程序首先检查是否存在对应的静态文件...
【SpringBoot2 整合FreeMarker模板,完成页面静态化处理】 在Web开发中,页面静态化是一种提高网站性能和用户体验的技术。它涉及到将原本动态生成的页面转换为静态HTML文件,减少对服务器的依赖,加快页面加载速度...
php 页面静态化
标题“cms页面静态化源码”表明我们将探讨如何通过源代码实现CMS系统中的页面静态化功能。 在动态网站中,每当用户请求一个页面时,服务器都会执行相应的PHP、Java、Python或其它脚本语言,生成HTML内容,然后将其...
动态页面静态化技术,c#技术 动态页面静态化技术,c#技术
本文将深入解析网站架构中的三项关键技术:页面静态化、图片服务器分离以及负载均衡,并探讨它们如何协同工作以提升网站性能。 #### 1. 页面静态化 页面静态化是一种提高网站访问速度的有效手段。通过将动态生成的...
ASP.NET页面静态化和伪静态化是Web开发中提高网站性能和SEO优化的重要技术。页面静态化是指将原本动态生成的HTML页面转化为静态HTML文件,这样用户请求时无需执行服务器端的代码,直接从硬盘读取文件,提高了访问...
前台页面的静态化就有利于SEO,所以这个问题摆在了我的面前,在网上一搜,关于这方面的资料不是很多,又很杂,关于这方面的知识,越来或多的程序员将会碰到,原来项目中这部分静态化的功能主要由我来做的,现在我将...