到目前为止,我已经尝试了两种方法:
-1.添加到网站.xml:
<session-config>
<tracking-mode>COOKIE</tracking-mode>
</session-config>
-阿拉伯数字。使用漂亮的脸蛋,添加到漂亮的配置.xml:
<rewrite match="(?i)^(.*)#.w+(.*)" substitute="$1$2" redirect="301"/>
-3.码头特定。添加到网站.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。他在我所有的网址上做什么?
除了alehro所说的之外,重写可能更适合您尝试通过从URL和其他此类自定义任务中删除会话ID来执行的操作。该配置更具声明性和功能,但也更加冗长。
以下是使用//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) 不需要其他配置。
此哈希不是 jsessionid。它由附加此跟踪附加。要禁用它,请使用:
<script type="text/javascript">
var addthis_config = {
"data_track_addressbar" : false
};
</script>
我不知道,也许删除这个问题会更好,因为它有点愚蠢。