URL重写的几种实现方式的总结

如何实现最简单的URL重写功能 一 什么是url重写 二 MS的URLRewriter基本使用方法 立即下载
 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的效率还是不错的
第三种,最灵活,我一般简单的应用都是用这个实现的。
水印图片和URL重写 Asp.Net 做的水印图片 和 URL地址重写,如果后缀名是.aspx将它在地址栏改变为其他的后缀名显示~~如*.jsp,*.php 等!! 立即下载

相关推荐

trae使用playwright MCP方法流程

trae使用playwright MCP方法流程

MAILLIBIN的专栏 1677

URL重写技术

URL重写是指服务器程序对接收的URL请求重新写成网站可以处理的另一个URL的过程。URL重写技术是实现动态网站会话跟踪的重要保障。在实际应用中,当不能确定客户端浏览器是否支持Cookie的情况下,使用URL重写技术可以对请求的URL地址追加会话标识,从而实现用户的会话跟踪功能。URL重写实现会话跟踪,要保证每个页面都必须使用Servlet或JSP动态页面。因为附加在URL上的SessionID是动态产生的,所以对于静态页面的跳转,URL重写机制无能为力。 可以通过HttpServ...

m0_50897734的博客 5447

从零到一:手把手教你用YonBuilder for NCC搭建NC Cloud 2021.11开发环境(含避坑指南)

本文详细指导如何使用YonBuilder for NCC搭建NC Cloud 2021.11开发环境,涵盖硬件要求、软件安装、YonBuilder配置及常见故障排除。特别提供避坑指南,帮助开发者快速上手NCC开发,确保环境配置的原子化分解和开发思维的体系化建立。

weixin_42523326的博客 341

三种方法实现URL重写

URL重写,就把动态URL静态化,便于搜索引擎爬虫抓取你的动态网页 举例 /product.jsp?id=1001 /product.jsp?id=1002 /product.jsp?id=1003 重写后,可以用 /product/1001.html /product/1002.html /product/1003.html 一、过滤器 用 urlReweite...

pluto418的专栏 485

Nvidia Tesla A100 驱动安装方法

Nvidia Tesla A100 驱动安装方法 遇到的问题:以前安装tesla系列、geforce系列等gpu 驱动的时候,只需执行nvidiaxxxx.run驱动包或者安装nvidiaxxxx.rpm包即可,但遇到新的GPU Nvidia Tesla A100的时候,安装完驱动似乎不起作用,找了半天资料,原来需要以下步骤才可以使用;

qq_24343177的博客 2万+

Scratch离线版部署指南:解决资源缺失与页面显示异常问题

本文提供了一份详尽的Scratch离线版部署指南,旨在解决网络依赖导致的资源缺失与页面显示异常问题。通过从基础文件获取、自动化资源抓取到生产环境部署的完整流程,帮助教育工作者和开发者在无网络环境下搭建功能完整的本地Scratch编辑器,确保编程教学的顺利进行。

wine的专栏 1261

URL重写的几种实现方式的总结(2)

Apache 2.2 + Tomcat 使用UrlRewrite实现泛域名解析的尝试 1 安装 tomcat/apache 2 下载 jk.so, 具体版本请根据需要,不再多说 3 关键是配置 httpd.conf Code 1 2 # 去掉这个前面的#,启用它 3 LoadModule rewrite_module modules/mod_rewrite.s...

mickwlp 166

不懂就学之挑战成为WorldQuant Brain顾问的第1天

WorldQuant Brain 是由 WorldQuant 公司开发的一个基于人工智能和机器学习的量化研究平台,旨在帮助量化研究员发现和构建有效的投资策略。WorldQuant 是一家全球领先的量化投资公司,专注于利用数据科学、技术和金融工程开发量化交易策略。

Yanbang1的博客 8384
上一篇: awk文本处理总结
下一篇: 在Perl中如何派生多进程 -- fork函数
wx红杉树
博客等级 码龄21年 383粉丝 296原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值