HIHO,
现有的网站需要包含在另一个网站中,如下所示:
a.mysite.com
我需要在
中从此网站获取内容www.mysite.com
网站...
由于我需要访问iframe的内容,因此同源策略会产生问题。 我所做的是在Apache上配置mod_proxy以代理传递来自
的所有请求www.mysite.com/a
到
a.mysite.com
这样可以正常工作......但我的问题是我不确定包含这些页面的最佳方法是什么。
1。想法
由于iframe的内容是一个功能齐全的网站,顶部导航...左侧导航等....我需要更改页面模板,只显示内容框,以便能够集成该页面iframe。
2。想法
我可以通过JQuery.load()加载内容所在的DIV,并将其集成到我的网站中。
完成此类任务的最佳方法是什么?从SEO的角度看这两种想法有多糟糕?
答案 0 :(得分:2)
除非涉及重大返工,否则最佳解决方案是将两者合并为服务器端的单个HTML页面(使用服务器端包含)。
<强>优点强>:
<head>
中复制这些内容。如果您希望实现站点“a”的完全集成,这更具有长期优势。但是,最初可能是一个缺点,见下文。<强>缺点强>:
如果您必须在您建议的两个选项中的任何一个之间进行选择,我会不选择其他人建议的第二个选项。永远不应该通过Ajax加载大量的静态内容,并且在这种情况下不会给您带来额外的好处。至少iFrames保证不会发生JS和CSS冲突。
答案 1 :(得分:1)
使用第二种方法(jQuery.load),如果您正在使用HTML5,对于支持History API的浏览器,您可以将URL更改为该div的内容。
查看https://github.com/blog/760-the-tree-slider以获取github如何为其树滑块执行此操作的示例。
编辑:
我不确定如何使用src指向您自己的域的iFrame影响搜索排名但最多只是一个灰色区域。我会假设可能有一些pagerank会从父级流向孩子,但我不知道如果一个博客链接到你的页面,iframe指向另一个页面,它将如何工作。这将是Webmaster Help Forum
提出的一个非常好的问题答案 2 :(得分:0)
总是对iframe拒绝。一直是jQuery + Ajax。