0

到目前为止,我尝试了两种方法:
-1。添加到 web.xml:

<session-config>
    <tracking-mode>COOKIE</tracking-mode>
</session-config>

-2。使用漂亮的面孔,添加到 pretty-config.xml:

<rewrite match="(?i)^(.*)#\.\w+(.*)" substitute="$1$2" redirect="301"/>

-3。码头专用。添加到 web.xml:

<context-param>
    <param-name>org.eclipse.jetty.servlet.SessionIdPathParameterName</param-name>
    <param-value>none</param-value>
</context-param>

没有什么帮助。我也无法理解,“#.{jsessionid}”和“jsessionid={jsessionid}”格式之间有什么区别(其中 {jsessionid} 是一些看起来像哈希的字符串)?

编辑1:
它看起来像片段ID。他在我所有的网址上做什么?

4

2 回答 2

1

除了 alehro 所说的之外,通过从 URL 和其他此类自定义任务中删除会话 ID,Rewrite可能更适合您尝试执行的操作。该配置更具声明性和功能性,但也更加冗长。

以下是使用 //Rewrite 执行相同操作的方法。

@Override
public Configuration getConfiguration(final ServletContext context)
{
   return ConfigurationBuilder.begin()
      .addRule()
        .when(Direction.isInbound()
          .and(URL.matches("{p}{sessionID}{s}")))
        .perform(Redirect.temporary("{p}{s}"))
        .where("sessionID").matches("#\\.\\w+");
}      

URL 参数默认匹配.*,因此前缀和后缀 (p) 和 (s) 不需要额外配置。

于 2012-10-09T04:05:45.003 回答
-1

这个哈希不是 jsessionid。它由 addthis 跟踪附加。要禁用它,请使用:

<script type="text/javascript">
var addthis_config = {
"data_track_addressbar" : false
};
</script>

我不知道,也许最好删除这个问题,因为它有点愚蠢。

于 2012-10-08T10:39:59.050 回答