- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用来自 tuckey (http://www.tuckey.org/urlrewrite/) 的 URLRewrite 过滤器
现在我制定了一些规则,但是有一种情况让我很头疼。URL:/group/1/update 应重写为:/group?id=1&action=update
我为这种情况创建了一个正则表达式模式:^/group/([0-9]+)/(\w*)$,但过滤器无法重写它。没有匹配项。
在我的 TestCase 中,我通过我所有的模式运行了这个 url,只是为了检查。我按预期找到了匹配项。
assertFalse( "/group/1/update".matches("^/group/create$") );
assertFalse( "/group/1/update".matches("^/group/save$") );
assertFalse( "/group/1/update".matches("^/group/([0-9]+)/?$") );
assertTrue( "/group/1/update".matches("^/group/([0-9]+)/(\\w*)$") );
assertFalse( "/group/1/update".matches("^/group/([0-9]+)/(\\w*)\\?(.*)+$") );
那么过滤器为什么找不到规则呢?
为了包含所有内容,这里是我的 urlrewrite.xml 或其中的一部分:
<rule>
<from>^/group/create$</from>
<to>/group?action=create</to>
</rule>
<rule>
<from>^/group/save$</from>
<to>/group?action=save</to>
</rule>
<rule>
<from>^/group/([0-9]+)/?$</from>
<to>/group?id=$1&action=show</to>
</rule>
<rule>
<from>^/group/([0-9]+)/(\\w*)$</from>
<to>/group?id=$1&action=$2</to>
</rule>
<rule>
<from>^/group/([0-9]+)/(\\w*)\\?(.*)+$</from>
<to>/group?id=$1&action=$2&$3</to>
</rule>
再见
阿德里安
最佳答案
您应该使用单反斜杠 \
而不是双反斜杠 \\
。
<rule>
<from>^/group/([0-9]+)/(\w*)$</from>
<to>/group?id=$1&action=$2</to>
</rule>
<rule>
<from>^/group/([0-9]+)/(\w*)\?(.*)+$</from>
<to>/group?id=$1&action=$2&$3</to>
</rule>
在 Java 代码中,双反斜杠用于表示单个反斜杠。由于字符串是从外部文件中读取的,因此不需要对反斜杠进行转义。
关于Java URLrewrite 过滤器找不到匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8318130/
不知道大家有没有遇到过urlrewriter.net因为正如我目前看到的 urlrewriting.net有点受欢迎。 有人能告诉我哪一个更容易实现并且更强大吗? 谢谢... 最佳答案 谢谢你的回答。
我希望能够在不重启服务器的情况下更改 urlrewrite.xml 中的规则。 我正在运行 Tomcat 7。在 web.xml 中我有... UrlRewriteFilter
我正在实现 URL 重写功能,我已经在我的项目中包含了所有必要的功能,即 WEB-INF/lib 中的 urlrewritefilter-4.0.3.jar和 WEB-INF 中的 urlrewrit
我正在尝试将所有 http 请求重定向到 https,除了“health.html”,我需要通过端口 80 上的标准 http 提供服务;出于某种原因,下面的规则似乎并没有这样做——我确定这是一个语法
UrlRewrite 重写url详解 UrlRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址。 urlrewrite顾名思义,就是对URL进行重写,用户得到的全部
我遇到了一个奇怪的 URL 问题。我正在使用 .htaccess 和 header(location) 来设置网址。 我认为我正在“重置”底部带有 header (位置)的网址,但它看起来像是我指定的
我正在使用 Tuckeys UrlRewrite 重定向对我的应用程序发出的任何请求,以便我可以根据 url 执行一些操作。我需要能够捕获任何请求,但我不想从资源中获取请求,所以基本上它将是类似 /i
我正在使用来自 tuckey (http://www.tuckey.org/urlrewrite/) 的 URLRewrite 过滤器 现在我制定了一些规则,但是有一种情况让我很头疼。URL:/gro
我正在使用 Tuckeys UrlRewrite 过滤器在我的 java 应用程序上获取干净的 url。我将所有对某个资源的请求重定向到 Spring 请求调度程序。这是我原来的规则 (.*)
因此,我们目前支持两个网络应用程序,并希望在不久的将来停止这样做。因此,我们希望将所有针对旧 Maven 项目的 url 重定向到静态页面。 为此,我有: 1- 添加了以下依赖项: org.tu
我将 Tuckey 的 URL 重写过滤器与自主开发的安全过滤器结合使用。 URL 重写过滤器映射到 /* 安全过滤器映射到'/*' 此外,URL 重写过滤器具有以下规则: User
我正在使用 tuckey URLRewrite 过滤器,其规则之一如下: Proxy URL with jession ID's [\p{ASCII}]+
我要疯了,我已经尝试了所有方法,urlencode、html 编码,但是 urlrewriting.net 将阿拉伯语查询字符串读取为 ??字符 非常感谢您的帮助 最佳答案 如果您安装了 .NET 3
我遇到一个错误,似乎无法使用 Eclipse 中的 Tuckey urlrewrite 配置文件来解决。我已将违规规则缩小到以下条目: /admin/**
我要疯了,我已经尝试了所有方法,urlencode、html 编码,但是 urlrewriting.net 将阿拉伯语查询字符串读取为 ??字符 非常感谢您的帮助 最佳答案 如果您安装了 .NET 3
需要从我的网址中删除jsessionid。经过在互联网上的一些研究,发现 UrlRewrite 可以做到这一点。 所以我为它创建了一条规则。这是 xml 文件 (urlrewrite.xml):
我使用http://tuckey.org/urlrewrite/图书馆 我正在尝试检测页面的URL是否被重写, 我想出了这样的东西: if(req.getRequestURL().toString()
我需要使用 HttpModule 编写自定义“UrlRewriter”,在“重写”的那一刻,我需要访问 Session 并遵循了另一个 SO 线程的建议: Can I access session s
我一直在从事 Spring 项目。我希望我的 URL 写在 localhost:8080/app/main/something 而不是 localhost:8080/app/main.htm?type
我正在使用 Tuckey URLRewrite我需要一个接受除“/”或“\”以外的所有内容的规则 我已经写了一条规则,但是 tucker 显示无休止的异常并且没有加载页面 ^
我是一名优秀的程序员,十分优秀!