三种方法实现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的类库

修改web.xml增加过滤器,然后配置个过滤规则

web.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>


过滤规则 urlrewrite.xml
<?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>/poduct/(\d+).html$</from>
<to>/product.jsp?id=$1</to>
</rule>
</urlrewrite>


二、使用Apache
# 去掉这个前面的#,启用它
LoadModule rewrite_module modules/mod_rewrite.so

<VirtualHost _default_:80>
# 其它的配置数据

RewriteEngine On
# 下面三行实现动态解析
RewriteRule ^/product/(\d+).html$ /product.jsp?id=$1 [L,PT]
</VirtualHost>

三、使用404页面跳转

web.xml修改部分

<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>


404.jsp 内容

<%@ page language="java" contentType="text/html; charset=UTF-8" isErrorPage="true"%>
<%
response.setStatus(HttpServletResponse.SC_OK);
String key = (String) request.getAttribute("javax.servlet.forward.servlet_path");
try {
if (key != null) {
int index = key.lastIndexOf("/");
if (index != -1) {
key = key.substring(index + 1);
if (key.endsWith(".html")) {
long id = Long.parseLong(key.substring(0, index-4));
String url = "product.jsp?productid=" + id;
out.println(url);
request.getRequestDispatcher(url).forward(request, response);
}
}
}
}
catch(Exception e) {
out.println("找不到该网页");
}
%>
url重写代码 首先的运行的是shop。aspx。在urlrewrite的类中用正则获取id和名字 立即下载

相关推荐

若依 修改默认跳转页面 demo

参考文章:https://blog.youkuaiyun.com/qq_17616169/article/details/121292578

URL重写有几种方式:

1).通过 HttpContext 类的 RewriteUrl() 方法来执行 URL 重写;2).通过自定义HTTP Module或 HTTP Handler来重写 URL;3).借助正则表达式来重写URL:理解重写的方式:创建自定义 HTTP 模块和 HTTP 处理程序是相对简单的任务,包括创建实现正确接口的托管类。HTTP 模块必须实现 System.Web.IHttpMod

赵晓雷的专栏 5010

告别安装烦恼!Orange3 3.38.0 Windows绿色版下载即用,附保姆级汉化与组件配置指南

本文详细介绍了Orange3 3.38.0 Windows绿色版的下载与使用,包括中文汉化、组件配置及高效管理技巧。这款无需安装的数据科学工具特别适合快速验证想法的研究人员和移动办公用户,支持多种数据源和可视化工具,大幅提升工作效率。

weixin_30897233的博客 598

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

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+A

老紫竹的专栏 5万+

从安装Eclipse 开始 开发第一个 CDS View

一篇超级简单快速的 创建CDS VIEW 入门步骤介绍文章。

IT小职员 4248

Untiy之如何实现AI+MR (Pico4u 相机推流MR画面给Server做实时AI图像识别)

本文介绍了基于Pico4U企业版开发AI+MR应用的实现方案。文章详细说明了硬件准备步骤,包括购买企业版设备、申请相机权限和注册管理平台。重点讲解了Unity开发中获取摄像头画面的两种技术方案:通过Overlay直接渲染到Android Surface,或使用API获取图像数据转换为Texture。提供了完整的代码示例和权限配置说明,并揭示了底层通过JNI调用Android原生API的技术原理。该方案适用于带电操作等实习场景,可提升安全性和学习趣味性。

TxNet 1338

URL重写技术

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

m0_50897734的博客 5447

手把手教你学Simulink--基于飞行控制与稳定性的场景实例:多旋翼无人机在风扰动下的稳定性分析

本文介绍了使用Simulink仿真多旋翼无人机在风扰动下稳定性的方法。通过构建包含飞行器动力学模型、PID控制系统和环境模拟模块的仿真系统,分析了无人机在不同风速条件下的飞行性能。详细说明了从创建模型、设置动力学方程、设计PID控制器到添加风扰动模型的完整流程,并提供了性能评估指标。该方法可用于验证控制系统有效性,优化飞行稳定性参数,为无人机控制系统的设计和调试提供参考。

MHD0815的博客 327

【若依】将自带的搜索框进行重写

今天写页面的时候,遇到这么一个情景:一个弹窗里需要用到若依的表格,以及搜索框进行条件查询。但是测试时发现搜索框无效,于是就想法子重写了一个,方便以后查看。 思路:将bindZyz()这个表格清空,再重新新增没错就是这么简单。 上代码:

苗老八的博客 1465

大模型角色提示词写得再严密,也能被绕过?我用攻击者思维把自己吓了一跳!

很多人以为提示词是“只要写清楚了,模型就能理解”,但实际上——模型并不具备严格的规则意识,它只是在预测下一句话。所以我们必须从“攻防”角度出发,设计更强的防护机制。我这次就是亲身踩坑,用红队思维模拟攻击,才意识到原来提示词注入这么容易中招。你如果也在做 AI 应用、角色系统、提示词驱动的功能,建议你也用类似方式测试一下,不然被绕了都不知道。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1026

机器人动力学仿真软件:PyBullet_(10).案例分析:双足机器人行走仿真

在本节中,我们将详细探讨如何使用PyBullet进行双足机器人的行走仿真。双足机器人行走仿真是一个复杂的动力学问题,涉及多个关节的协调运动和环境交互。通过本节的学习,您将了解如何创建和控制双足机器人模型,设置仿真环境,以及实现基本的行走算法。首先,我们需要创建一个双足机器人模型。PyBullet支持多种模型格式,包括URDF(Unified Robot Description Format)和MJCF(MuJoCo XML Format)。URDF是一种广泛使用的机器人模型描述格式,我们将使用URDF来创建

kkchenjj的博客 909

java实现URL重写的三种方法

java实现URL重写的三种方法 收藏 &lt;script type="text/javascript"&gt; document.body.oncopy = function() { if (window.clipboardData) { setTimeout...

寂寞的时光 732

UMI——斯坦福刷盘机器人:通过手持夹爪革新数据收集方式,且使用视觉SLAM和Diffusion Policy预测动作

没想到今年年初的斯坦福mobilealoha的热度刚过,而到今年2月的下旬,斯坦福另一个团队又推出了UMI刷盘机器人,且这两个团队还互相认识、还在一块共同切磋(顺带小小感叹一下,斯坦福的氛围是真好而且真高产)斯坦福UMI刷盘机器人其与mobile aloha(以及AirExo: Low-Cost Exoskeletons for Learning Whole-Arm Manipulation in the Wild)最大的不同在于其收集数据处理的非真实的机器人,而是一个手持夹持器(从而大幅降低成本)

u013250861的博客 1357

全面解析ASP.NET2.0下的URL重写

1、ISAPI(使用开源组件IIRF)  IIRF,对于IIRF,对应于IsapiRewrite4.dll,在相同的目录会有一个IsapiRewrite4.ini文件,除了默认的一些设置,我们在文件末尾添加了几条自定义规则如下:# Custom RewriteRulesRewriteRule  ^/UrlRewriteSample/test(.*).aspx         /UrlRewri

影子的专栏 484

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: msgpack简介(续) 复杂的数据类型
下一篇: 汉语拼音排序比较器
pluto418
博客等级 码龄20年 1粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值