【问题标题】:How to rewrite URL to hidden URL with parameter如何使用参数将 URL 重写为隐藏 URL
【发布时间】:2012-09-10 21:59:33
【问题描述】:

我想使用 urlrewritefilter 在 URL 中包含客户名称和语言,并将它们作为参数传递给隐藏的 url。这样网站才会开定制。语言斜线之后的所有内容都应该传递给隐藏的 url

http://www.x.com/customer1/en/ 重写到隐藏的网址。客户不应看到以下应调用的 URL。

http://www.x.com/myapp/

并添加以下参数 语言=en 客户 ID=3

我正在尝试这条规则,但总是收到 404 http 状态错误

<rule match-type="regex">
 <from>^/customer1/en/([A-Za-z0-9\._/]+)$</from>
 <set name="customerID">3</set> 
 <set name="language">en</set>
<to type="forward">/myapp/$1</to>

</rule>

【问题讨论】:

    标签: tomcat6 tuckey-urlrewrite-filter


    【解决方案1】:

    我假设您有一个带有 context-root = "/"(无跨上下文)的 webapp。

    如果没有完成,也许你应该激活日志,看看你的规则是否被调用并且匹配

    您可以在过滤器配置中激活 urlrewritefilter 的日志(请参阅http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/4.0/index.html#filterparams)。

    <filter>
      <filter-name>UrlRewriteFilter</filter-name>
      <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
      <!-- sets up log level (will be logged to context log)
           can be: slf4j, TRACE, DEBUG, INFO (default), WARN, ERROR, FATAL,
           sysout:{level} (ie, sysout:DEBUG)
           if you are having trouble using normal levels use sysout:DEBUG
           (default WARN) -->
      <init-param>
        <param-name>logLevel</param-name>
        <param-value>DEBUG</param-value>
      </init-param>
    
    </filter>
    

    您还必须添加日志记录的依赖项,例如 slf4j-api、slf4j-log4j12、log4j-1.2。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-03
      • 1970-01-01
      • 2017-02-18
      • 1970-01-01
      • 2011-11-20
      • 1970-01-01
      相关资源
      最近更新 更多