- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我了解到 Google 不太关心 JSessionID 之前,我允许在我的 Facelets 应用程序中重写 URL(Tomcat 的默认行为)。对于那些还不知道的人,Google 在 SEO(您的 URL 上的 session ID)方面不喜欢这样,因此我在 web.xml 中包含以下内容以纠正此问题:
<session-config>
<tracking-mode>COOKIE</tracking-mode>
</session-config>
问题是我有很多 500
过时链接的错误正在损害我的 SEO,因为网站引用了带有这些 jsession ID 的过时链接,例如:
http://thejarbar.org/views/tutorials/linux/Netbeans-
Install.xhtml;jsessionid=8D0EF52E48E8BB8BF8A4D7E33F831EFF
我已经通过创建重定向到更新链接的页面轻松地修复了带有 html 或 xhtml 后缀的页面名称的几个错误,但我遇到的问题是我无法创建带有 session ID 后缀的文件名,因为这赢了' 由 Tomcat 提供服务。
重定向无效的 HTML 链接就像在相关目录中创建纯 (X)HTML 页面并包含如下元标记一样简单(示例):
.../Maven-Setup.xhtml
Maven-Setup.xhtml
在引用位置<meta http-equiv="REFRESH" content="0;url=http://thejarbar.org/views/tutorials/linux/Maven-
Setup-Tutorial-for-Linux-with-the-Jar-Bar-and-Yucca-Nel.xhtml"></meta>
如何根据带有 session ID 的过时 URL 重定向请求?我显然赞成保留这些链接,因为它们可能(或可能不会)为我的网站带来流量,因此我想重定向。
更新 我创建了一个 redirect.jsp,目的是在 web.xml 中映射一个 url 模式,以将所有传入的 jsessionid 请求转发到我的新“无 jsession”站点:
<servlet>
<servlet-name>redirect</servlet-name>
<jsp-file>/redirect.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>redirect</servlet-name>
<url-pattern>/*jsessionid*</url-pattern>
</servlet-mapping>
这不是转发带有 jsession id 的请求,我已经测试了 redirect.jsp
正确转发。
更新 根据 Balusc 的推荐和我发现的另一个过滤器 here , 我想出了这个关于重定向到我的新站点似乎不起作用的方法:
package org.thejarbar.web.filters;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;
import javax.servlet.*;
import javax.servlet.http.*;
public final class JSessionFilter implements Filter {
public void init(FilterConfig filterConfigObj) {
}
public void doFilter(ServletRequest _req, ServletResponse _res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) _req;
HttpServletResponse res = (HttpServletResponse) _res;
String url =req.getRequestURL().toString();
if(Pattern.compile(Pattern.quote(url), Pattern.CASE_INSENSITIVE).matcher("jsessionid").find()){
String redirectURL = "http://thejarbar.org";
res.setStatus(301);
res.setHeader("Location",redirectURL);
res.setHeader( "Connection", "close" );
res.sendRedirect(redirectURL);
}
chain.doFilter(req, res);
}
public void destroy() { }
}
最佳答案
根据上面 BalusC 的回答和我找到的帖子,我终于得到了一个过滤器来解决我的问题 here
我的过滤器是这样实现的:
package org.thejarbar.web.filters;
import java.io.*;
import java.util.regex.Pattern;
import javax.servlet.*;
import javax.servlet.http.*;
public final class JSessionFilter implements Filter {
public void init(FilterConfig filterConfigObj) {
}
public void doFilter(ServletRequest _req, ServletResponse _res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) _req;
HttpServletResponse res = (HttpServletResponse) _res;
String url =req.getRequestURL().toString();
if(url.indexOf(";jsessionid=")>0 ||
url.indexOf("views/tutorials/linux/Maven-Setup.xhtml") > 0 ||
url.indexOf("views/tutorials/windows/VirtualBox-Setup.xhtml") > 0 ||
url.indexOf("views/tutorials/windows/Path-Setup.xhtml") > 0 ||
url.indexOf("views/tutorials/windows/PATH-Setup.xhtml") > 0 ||
url.indexOf("views/tutorials/linux/Netbeans-Install.xhtml") > 0) {
String redirectURL = "http://thejarbar.org";
res.setStatus(res.SC_MOVED_PERMANENTLY);
res.setHeader("Location",redirectURL);
res.setHeader( "Connection", "close" );
return;
}
chain.doFilter(req, res);
}
public void destroy() { }
}
这会将我的每个过时链接链接到更新的站点。
关于redirect - 301 为 Facelets 中的 SEO 重定向 jsessionid 链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11135594/
我已经阅读了一些相关内容,但无法在任何地方找到明确的答案。所以,我想在这里问这个问题。 我正在构建一个旅游指南,其中包含大量分为标签的信息。每个选项卡都有自己的内容和关键字,我想在 SEO 中对其进行
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 7 年前。 Improve
显然,来自具有高网页排名的网站的链接有助于根据 SEO 对网站进行定位。我想知道如果链接“链接”到将您重定向到目标网站的网站,是否也是如此?或者爬虫会忽略重定向(通过 javascript 还是 ph
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8 年前关闭。 Improve this
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我们有一个网站 site.com,希望其他国家/地区的用户可以更快地访问该网站。想法是在每个大陆都有一个主机,并通过 GeoIP 重定向到该主机,例如:eu.site.com - 欧洲,us.site
我想将表格放在页面的页脚中,并使用主页面中的“联系”链接 作为 的 anchor . 从 SEO 的角度来看这是否合适,或者我应该放弃这个想法并坚持使用直接的联系页面?还是两者兼而有之? 最佳答案
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 7 年前。 Improve
我想为不同的版本设计不同的 html,但内容相同。我计划通过在选择哪个页面模板作为响应返回之前以编程方式确定请求设备来实现这一点。 我知道那里有响应式模板开发框架,但我们有意识地对走那条路不感兴趣,因
现在什么被认为是 url 结构的最佳实践? 出于某种原因,我认为在 url 末尾包含一个扩展名是一旦你进入层次结构的“最低”部分,例如 /category/sub-category/product.h
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 5 年前。
我在同一页面 上创建了两种不同的布局(使用 Bootstrap )。一种用于移动设备,一种用于桌面设备。网站有不同的页面,结构复杂。一些 block 应该只在桌面上可见,反之亦然。 这是一个示例页面:
如果我有这样一个网站: google.com/index.html?c=123123&p=shoes SEO 将其设置为: google.com/index.html?code=123123&foot
我们有一个网站,它会向后端系统发出昂贵的调用以显示产品可用性。我想消除这些对非实际客户的页面浏览量的调用。我的第一个想法是过滤用户代理,如果请求者是蜘蛛/搜索引擎爬虫,则显示“请求可用性”或类似的消息
我的 Joomla 网站有问题。菜单项的 SEO 可以有效地工作。因此,如果我键入“www.example.com/about”之类的内容,它将起作用并显示相应的文章页面。所以这表明 SEF URL
我看了很多关于 seo 的网络教程,但我从来没有发现一些较大的网站在搜索时如何以及为什么会出现这种情况......我不知道在 quora 和 yahoo 旁边问这个问题,但没有人在那里回答......
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预
与其说是问题,倒不如说是问题。如果你能分辨出谷歌机器人和浏览你网站的其他用户之间的区别,然后你加载不同的内容取决于它是一个还是另一个,谷歌是否可以找到?毕竟,他们不会派人去目视检查。 最佳答案 你说的
我是一名优秀的程序员,十分优秀!