`
noasoso
  • 浏览: 35987 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

(转) urlrewrite匹配问号

 
阅读更多


     < rule >
        
< from > ^/article.asp\?id=(.*)$ </ from >
        
< to  type ="redirect" > /entry/$1.jhtml </ to >
    
</ rule >

     但是我这样的连接总是匹配不到,只要去掉那个?就可以了。这个正则表达式是没有问题的。/article.asp?id=64是可以匹配的到的。
    后来看3.0的manual (http://tuckey.org/urlrewrite/manual/3.0/)才发现原来是这个的问题。

<urlrewrite> element

The top level element.

Attribute Possible Value Explanation
default-match-type
(optional)
regex (default) All rules and thier conditions will be processed using the Java Regular Expression engine (unless match-type is specified on a rule).
wildcard All rules and thier conditions will be processed using the Wildcard Expression engine (unless match-type is specified on a rule).
decode-using
(optional)
utf8 (default) When URL is decoded UTF-8 will be used.
null Do not decode.
[encoding] Any string representing a supported character encoding eg, ISO-8859-1. See Java Charset Object for more info.
use-query-string
(optional)
false (default) The query string will not be appended to the url that the "from" element matches against.
true The query string will be appended to the url that the "from" element matches against.
use-context
(optional)
false (default) The context path will not be added to the url that the "from" element matches against.
true The context path will be added to the url that the "from" element matches against.


就是那个use-query-string 的问题,默认的是不使用query-string就是把?后面的都忽略了。所以就不能匹配到了。只要在<urlrewrite>里面加一个属性就可以了。

< urlrewrite  use-query-string ="true" >
    
</ urlrewrite >
分享到:
评论

相关推荐

    urlrewrite重写URL伪静态请求路径.

    标题 "urlrewrite重写URL伪静态请求路径" 涉及到的是Web开发中的一个重要概念——URL重写,这是为了优化网站的SEO(搜索引擎优化)和用户体验而进行的一种技术手段。URL重写允许我们将复杂的动态URL转换为简洁、易于...

    nginx中带问号(?) 带参数的rewrite规则

    在Nginx服务器配置中,`rewrite`指令用于URL重写,这在创建动态到静态页面的重定向、实现URL路由、或者根据特定条件改变URL结构时非常有用。当URL中包含问号(`?`)以及参数时,处理起来可能会有些复杂,因为问号及其...

    UrlReWriteDemo

    在Web开发中,动态URL往往包含一系列参数,如问号(?)、等号(=)和与号(&),这些字符对于搜索引擎来说识别起来相对困难。而静态URL则通常以扩展名(如.html、.asp、.jsp等)结尾,它们看起来更像一个独立的文件...

    ReWrite.dll伪静态页面地址重写技术

    3. 编写重写规则:例如,你可以使用`&lt;rule&gt;`标签定义一个规则,设置`&lt;match url="动态URL模式" /&gt;`来匹配需要重写的URL,然后使用`&lt;action type="Rewrite" url="伪静态URL" /&gt;`指定重写后的目标URL。 4. 测试和调试...

    Rewrite伪静态组件

    动态URL通常包含问号(?)、等号(=)以及参数,而静态URL则更符合人们日常的阅读习惯,看起来更加简洁和清晰。 **1. 什么是Rewrite** Rewrite是Apache服务器中的一种URL重写技术,通过使用.htaccess或者httpd....

    Nginx URL重写rewrite机制原理及使用实例

    使用rewrite规则时,可以根据传入的URL,匹配正则表达式,然后根据匹配的结果进行相应的URL替换,最后通过标志位控制重写行为。 rewrite规则的基本语法格式如下:rewrite &lt;regex&gt; &lt;replacement&gt; [flag]; 其中,...

    JavaUrlRewrite实现网站URL重写过程实录编程

    2. **配置UrlRewrite.xml**:UrlRewriteFilter的工作原理是读取一个名为UrlRewrite.xml的配置文件,这个文件定义了各种URL重写规则。例如,你可以设置从"old-url"到"new-url"的映射,或者根据特定条件(如查询参数、...

    Rewrite.dll - 伪静态

    动态URL往往包含问号(?)、等号(=)以及各种参数,这样的URL对于用户来说不够直观,同时也可能对搜索引擎的爬虫造成困扰。伪静态技术通过URL重写,使得动态网页的URL显示为没有这些特殊符号的静态链接形式,如"....

    伪静态Rewrite

    正则表达式是Rewrite规则中的核心,用于精确地匹配和提取URL中的各种模式。例如,你可以使用`^product/(\d+)$`来匹配形如`product/123`的URL,其中`\d+`表示一个或多个数字。在Rewrite规则中,正则表达式可以帮助...

    ISAPI_Rewrite3_0056_Lite

    URL(统一资源定位符)是网站页面的地址,动态URL通常包含数据库参数,如问号(?)、等号(=)和额外的变量,这使得URL看起来复杂且不友好。而静态URL则直接反映了网页的实际路径,没有这些动态参数,更易于理解和...

    url重写实例,不错的东西,希望可以帮助你

    URL重写是Web开发中一...在这个实例中,"urlRewrite"可能是一个相关的项目或代码示例,它包含了具体的URL重写规则和配置文件。通过研究这个实例,你可以更好地理解如何在实践中应用URL重写技术,提升你的Web开发技能。

    URL伪静态(重写URL)

    然而,实现过程中需要注意避免重写冲突,确保所有规则都能正确匹配和转换URL,并且要对已有的外部链接进行更新,以免造成404错误。 在实际操作中,可能还需要考虑到服务器性能、缓存策略以及多语言站点的URL设计等...

    伪静态(url重写)

    在Java Web开发中,我们可以使用多种技术实现URL重写,其中包括Apache的`mod_rewrite`模块(在使用Tomcat等非Apache服务器时,可能需要额外的中间件支持)以及Java内置的`Filter`机制。这里我们主要讨论使用Java ...

    asp.net实现url伪静态及分页

    2. **URL重写**:对于ASP.NET Web Forms,可以使用UrlRewrite模块。在web.config中添加重写规则,如下: ```xml &lt;rewrite&gt; &lt;match url="^articles/(\d+)$" /&gt; &lt;action type="Rewrite" url="ArticleDetails....

    url重写+配置文档

    `&lt;rule&gt;`部分则定义了匹配和重写的规则,当URL匹配`^article/(.*)$`模式时,将执行重写动作,将捕获的数字部分作为查询字符串传递给`article.aspx`页面。 2. **规则解析**:在上述配置中,`{R:1}`是捕获组1的引用,...

    Apache的Rewrite设置多域名301跳转到主域名的方法

    问号匹配问题通常出现在URL中包含查询字符串(即URL中问号`?`后面的部分)。在上述规则中,如果URL中包含查询字符串,RewriteRule不会处理这部分。为了解决这个问题,我们需要使用`RewriteCond`配合`%{QUERY_STRING}...

    java/jsp网站实现伪静态

    1. **URL重写**:使用Apache的mod_rewrite模块或者Tomcat的RewriteFilter,通过配置规则将动态URL重定向到对应的JSP页面。例如,将`/article.html`映射到实际的`/article.jsp`。在Apache中,需要编辑.htaccess文件;...

    Nginx中防止SQL注入攻击的相关配置介绍

    用rewrite有个前提需要知道,一般用rewrite进行正则匹配只能匹配到网页的URI,也就是url中?前部分,?以后部分是请求参数。 问号后面的请求参数,在nginx用$query_string表 示,不能在rewrite中匹配到,需要用if判断 ...

    php动态添加url查询参数的方法

    3. **URL重写**:在使用URL重写(如mod_rewrite in Apache)时,可能需要根据重写规则调整参数添加的方式。 关于PHP与URL处理,还有一些相关的话题,例如: - **获取当前页面完整URL**:可以使用`$_SERVER['REQUEST...

Global site tag (gtag.js) - Google Analytics