`
- 浏览:
560524 次
- 性别:
- 来自:
安徽
-
URL重写,其实就是把带一大堆参数的url,变成一个看上去很规矩的url,主要目的是为了搜索引擎。
举例
/viewthread.jsp?id=1234
/viewthread.jsp?id=1235
/viewthread.jsp?id=1236
重写后,可以用
/viewthread/1234.htm
/viewthread/1235.htm
/viewthread/1236.htm
我目前使用Tomcat+Apache,尝试过三种重写的方法
一、Tomcat的过滤器
最典型的就是用 urlReweite的类库。大家爱如果有经验,自己写也不是很麻烦。
修改web.xml增加过滤器,然后配置个过滤的规则就可以了
web.xml修改部分
<!-- Set URL Rewrite-->
<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>
过滤规则
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
"http://tuckey.org/res/dtds/urlrewrite2.6.dtd">
<urlrewrite>
<rule>
<from>/viewthread/(\d+).htm$</from>
<to>/viewthread.jsp?id=$1</to>
</rule>
</urlrewrite>
更多详情,请参考 http://www.java2000.net/p7782
二、使用Apache的mod
# 去掉这个前面的#,启用它
LoadModule rewrite_module modules/mod_rewrite.so
<VirtualHost _default_:80>
# 其它的配置数据
RewriteEngine On
# 下面三行实现动态解析
RewriteRule ^/viewthread/(\d+).htm$ /viewthread.jsp?id=$1 [L,PT]
</VirtualHost>
详细参考这里: http://www.java2000.net/p5422
三、使用系统的404错误进行
也就是页面没找到的错误
这个我就不写了,有兴趣的自己参考吧 http://www.java2000.net/p903
总结
第一种修改麻烦,但对于平稳运行的系统,是个不错的选择
第二种需要配置Apache,但 Apache的重启速度很快,适合于有可能经常变得情况,而且Apache Mod的效率还是不错的
第三种,最灵活,我一般简单的应用都是用这个实现的。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
为了实现URL重写和无扩展名URL重写,你需要做以下几步: 1. **安装URL重写模块**:如果你使用的是IIS,可能需要安装URL重写模块。 2. **配置Web.config**:在`<system.webServer>`部分添加URL重写规则。 3. **使用`...
UrlRewrite Filter 是一个基于 Java 的开源项目,它提供了一种灵活的方式来实现 URL 重写。它使用 Filter 来完成 URL 重写工作,从而不依赖于 WEB 服务器组件。使用 UrlRewrite Filter,可以根据需要定义不同的重写...
实现Java Web中的URL重写,我们可以使用几种不同的方法: 1. **使用Filter**:创建一个Servlet Filter,拦截HTTP请求,根据规则重写请求的URL。在Filter的`doFilter`方法中,可以修改`ServletRequest`对象的请求URI...
例如,对于如下几种URL: - `http://www.example.com/` - `http://example.com/` - `http://www.example.com/index.html` 虽然这些URL从用户的视角来看可能指向的是同一个页面,但服务器可能会视它们为不同的请求...
URL重写是Web开发中的一种技术,主要用于优化和简化用户在浏览器中输入的网址,使其更易读、更美观。这种技术通常与服务器配置、尤其是Apache HTTP Server或IIS等Web服务器上的设置密切相关。在本案例中,"自己写的...
UrlWriter是一种用于实现URL重写的工具,它在Web开发中起着至关重要的作用,尤其是在优化网站的搜索引擎友好性(SEO)和提供用户友好的网址结构方面。URL重写技术允许我们将复杂的服务器端请求路径转换为简洁、易于...
标题中的“URL重写组件,URLRewrite”指的是在Web开发中用于管理应用程序URL的一种技术。URL重写是将用户请求的实际URL(可能是复杂的查询字符串)转换为更友好的、可读性更强的URL,这在提升用户体验和SEO(搜索...
这种技术主要通过两种方式实现:IIS服务器层面的URL重写和应用程序层面的URL重写。 1. **IIS URL重写模块**:IIS(Internet Information Services)作为Windows操作系统中的Web服务器,内置了URL重写模块。开发者...
URL重写是Web开发中的一种技术,主要用于优化网站的URL结构,使其更加用户友好和搜索引擎友好。这个技术的核心是通过配置规则,将用户请求的实际URL(可能是动态的、包含参数的)转换为更加简洁、静态化的形式。在...
在探讨“jsp的一个url重写”这一主题时,我们深入解析了达内郑州中心老师分享的关于URL重写的实现方式,这不仅展示了JSP技术在动态网页开发中的灵活性,也揭示了URL重写在提高用户体验、优化SEO以及简化URL结构方面...
在VS2005下,集成UrlRewrite的方式有两种:一是安装IIS UrlRewrite模块,适用于IIS 7及更高版本;二是使用第三方库,如Microsoft ASP.NET Routing,它可以在IIS 6等不支持UrlRewrite的环境中工作。不过,考虑到本...
在ASP.NET中,URL重写可以通过以下几种方式实现: 1. 使用URLRewriter库:配置`web.config`文件,定义重写规则,如使用`<rewrite>`元素和`<rule>`子元素。 2. 自定义HTTP模块:创建自定义的HTTP模块来实现URL重写...
在ASP.NET中,可以通过几种方式将动态页面转换为HTML文件: 1. 使用HttpHandler或HttpModule:在每次请求动态页面时,自动生成HTML文件并保存。 2. 利用缓存机制:在页面生成后,将其内容保存为HTML文件,并在缓存...
UrlRewriter组件是实现ASP.NET URL重写的一种方式,它允许开发者定义自定义的URL模式,并将其映射到实际的处理程序或页面。`UrlRewriter2_51aspx.rar`和`UrlRewriter_51aspx.rar`这两个文件很可能是包含该组件的源...
URL重写(URL Rewriting)是一种技术手段,它允许将请求从一个URL转换到另一个URL。这种技术在网站优化、用户体验提升以及搜索引擎友好度提高等方面具有重要作用。 根据提供的`.htaccess`示例代码,我们可以看到一...
Intelligencia的UrlWriter和微软的URL重写模块(如IIS URL Rewrite)是两种常用的URL重写实现方式。Intelligencia的UrlWriter通常作为一个中间件集成到ASP.NET应用程序中,通过配置规则来实现URL重写。微软的IIS URL...
注意,我们的演示程序中将混合使用三种方式的URL重写,因此,需要为三种实现分别设置一些URL重写规则: 1、IIRF,对于IIRF,对应于IsapiRewrite4.dll,在相同的目录会有一个IsapiRewrite4.ini文件,除了默认的一些...
URL重写作为一种重要的技术手段,能够帮助解决这类问题。本文将详细介绍如何在Microsoft ASP.NET框架下实施动态URL重写。 #### URL重写的常见用法 在创建数据驱动的ASP.NET网站时,通常会有一个页面用来展示数据库...
### 二、URL重写的实现方式 #### 使用MSURLRewriter.dll - **组件介绍**:MSURLRewriter.dll是Microsoft提供的一款用于实现URL重写的组件。它能够轻松地对网站的URL进行重定向或者改写。 - **安装方法**: - 下载...
URLRewriter.dll是一个流行的.NET框架下的URL重写库,它提供了一种方便的方式来实现URL重写规则。在ASP.NET环境中,你可以将这个库添加到项目中,然后在Web.config文件中定义重写规则。例如,以下是一条将动态URL...