- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的 web.xml 文件中,我配置了:
<welcome-file-list>
<welcome-file>index.xhtml</welcome-file>
</welcome-file-list>
这意味着,当我键入 URL www.domain.com
时,index.xhtml
文件用于呈现。但是当我键入 www.domain.com/index.xhtml
时,结果是一样的。是否称为重复内容?这对我的项目来说不是问题,但对 SEO 来说却是个大问题。如何在输入 URL www.domain.com
时重定向到 www.domain.com/index.xhtml
页面而不是让它执行转发?
最佳答案
当同一域中的另一个 URL 返回完全相同的响应时,该 URL 被标记为重复内容。是的,如果 SEO 很重要,您绝对应该担心这一点。
解决此问题的最简单方法是在 index.xhtml
的头部提供一个所谓的规范 URL。这应该代表偏好的 URL,在您的特定情况下显然是带有文件名的 URL:
<link rel="canonical" href="http://www.domain.com/index.xhtml" />
这样 http://www.domain.com
将被索引为 http://www.domain.com/index.xhtml
。并且不再导致重复内容。但是,无论如何,这不会阻止最终用户添加书签/共享不同的 URL。
另一种方法是配置 HTTP 301 重定向到首选 URL。了解 302 重定向的来源仍然被搜索机器人索引是非常重要的,但 301 重定向的来源不是,只有目标页面被索引。如果您使用 HttpServletResponse#sendRedirect()
默认使用的 302,那么您最终仍会得到重复的内容,因为这两个 URL 仍被编入索引。
这是此类过滤器的启动示例。只需将其映射到 /index.xhtml
并在 URI 不等于所需路径时执行 301 重定向。
@WebFilter(urlPatterns = IndexFilter.PATH)
public class IndexFilter implements Filter {
public static final String PATH = "/index.xhtml";
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
String uri = request.getContextPath() + PATH;
if (!request.getRequestURI().equals(uri)) {
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); // 301
response.setHeader("Location", uri);
response.setHeader("Connection", "close");
} else {
chain.doFilter(req, res);
}
}
// init() and destroy() can be NOOP.
}
关于jsf - 在 <welcome-file> 上使用重定向而不是转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20177129/
根据 here我已经实现了一个 IIntroAction,它将从介绍页面在 Eclipse 中打开一个透视图(我的操作几乎完全相同)。 我的与那里显示的有点不同,但本质上它被调用(作为 url)如下:
welcome to nginx,欢迎来到 nginx 的世界,如果你是一个专业网站建设人员你可能接触最多的就是阿帕奇apache,现在更多的网站建设人员都开始使用 LINUX 服务器,那么 LIN
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我正在尝试创建一个像这样的小型 javascript 插件: function TextShadow(host){ this.host_id=host; this.welcome=fu
任务是根据所选语言打印一条问候消息。我得到了一个对象文字。例如,如果用户选择“dutch”,程序将打印“Welkom”等。如果未找到语言,程序应打印默认语言,即英语。我已经能够解决大部分问题,除了一件
若凌° Provence - wirepuller 阴谋者 。 交换末日- Brave Hold on Welcome to my life 匪我思存 · L⊙ve/
我正在使用 Cent OS 6.1。 我通过 ./configure 方法从源代码安装了 Nginx。我通过 sudo nginx 启动了 nginx 服务器它可以提供 Welcome to Ngin
我试图将 jQuery 方法添加到保存字符串的变量中,但它不起作用。它的目的是逐个字母地淡入淡出,我知道我可以通过选择节点来做到这一点,因此它是一个对象,但我尝试从变量中做到这一点。如果有人可以帮我找
Project Structure pom.xml 4.0.0 spring-boot-web-thymeleaf jar Spring Boot Web Thymeleaf Example Sp
我正在调试一个简单的(Docker)代理服务器,据我所知,该服务器没有“默认网站”或类似的网站。我认为它正在从上游获取302响应,但我还不知道为什么。但是有趣的是,我得到了“欢迎使用Nginx!”即使
不确定最初的“欢迎来到 Meteor”页面是如何重新出现在我正在从事的项目上的,但这种情况是否发生在其他人身上?尝试通过 Meteor 进行测试,一切都很好。我让 Meteor 服务器运行了一整夜,今
我对 Gamecenter 有疑问。其实我不知道这是否真的是个问题。 在对我的 localPlayer 进行身份验证后,“欢迎”横幅没有出现。这是为什么?这是有问题的迹象吗? 我使用 Swift 和带
好的,我有一个视频可以在我的 iPhone 应用程序启动时播放。我怎样才能将其实现到我的 Xcode 项目中? 我希望它在应用程序加载后立即加载,并在播放后跟随我的主要编程所在的正确 View Con
我试图在 flutter 中调用 API,但是当我定义变量 _Welcome 时,我收到了这个错误。有谁知道如何修复它? class _PostsPageState extends State { F
每次我打开 mapbox map (付费计划)时,都会有一个“欢迎使用 mapbox”标记。如何禁用/隐藏它? 这是我创建 map 的代码: var map = L.mapbox.map('map',
我以为我已经在我一直在尝试设置的 VM 机器上启动并运行了 Symfony。但是,按照此链接上的说明进行操作后: http://symfony.com/doc/current/book/install
我正在开发一个集成位图裁剪的小项目,但预期的结果并不在这里。 示例 firemonkey 项目有一个加载了图片的 TImage。我正在绘制一个矩形来选择应该“提取”哪种位图部分。这是得到的结果: 所以
我想知道,是否可以在某处找到用于创建 eclipse“欢迎”页面上显示的按钮的代码。 当您在 eclipse 中创建一个新的工作区时,最开始会显示一个“欢迎”页面。该页面显示不同类型的按钮,例如“新功
我正在使用“Discord.JS”为 Discord 制作一个机器人我正在尝试发送介绍消息,但收到错误消息“无法读取未定义的属性‘sendMessage’” 我的欢迎信息代码: var bot = n
所以我从 W3Cschools 借用了代码(以防它看起来很熟悉),然后开始根据我的需要对其进行修改。基本上,我有一个默认的 H1 header “欢迎来到我的沙箱”。有一个将用户名保存到 cookie
我是一名优秀的程序员,十分优秀!