1

嘿伙计们,我有一个完整的 Flash 网站,该网站是深度链接的,我正在开发一个 php 脚本,该脚本将在页面上动态生成替代内容。

我无法让 swfaddress 的 SEO 版本正常工作,所以我正在尝试另一种方式。

到目前为止,它是这样工作的——我的可抓取链接是这样的:

mydomain.com?id=video -----> 改写为:mydomain.com/video/

php 脚本读取 id 并准备适当的内容。问题是,当用户点击 flash 内容时,他们的 url 显示如下:

mydomain.com/video/#contact、mydomain.com/video/#about-us
_

这令人困惑。有没有办法用 PHP 或 javascript 摆脱 uri 路径中的“/video/”?任何想法或不可能?

4

1 回答 1

0

任何可能与我处于相同位置的人;努力理解 Asual 的 swfAddress SEO 解决方案 我得出了一个令人满意的结论。

我使用了一个 index.php 并支持 datasource.php,其中包含 switch 语句中的所有结果。switch 语句首先在 index.php 中调用,并通过从通过 GET 发送的 id(例如?id=video)收集以下信息来运行。然后 switch 语句继续匹配适当的内容,为脚本的其余部分设置变量以供使用。我使用了以下内容:

$title
$description
$keywords
$canonical // hint: -> 'domain/video?id=somevid' to 'domain.com/video/' (see canonical in google)
$stylesheet
$body

在 datasource.php 之后,我在它下面包含一个“head.php”,它获取 html 滚动、doctype 等(但主要关注 <head>)并列出特定于该页面的关键字、描述和内容.

Swfaddress javascript 将在 Flash 用户进入时设置深度链接:

SWFAddress.setValue(< ?php echo "/$id" ?>); // eg."/video"

index.php 使用 swfobject 嵌入 - 我使用静态嵌入(我在某处听说它对 SE 更好,更多未来证明,但谁知道呢,不过我更喜欢它)。替代内容是一个 div,它与之前提取的存储的 $body 相呼应。

最后我使用 mod_rewrite 来设置我的可抓取链接。在测试期间,我直接引用我的文件。

< IfModule mod_rewrite.c >
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /

RewriteRule ^home/? ?id=home [NE,L]
RewriteRule ^about/? ?id=about [NE,L]
RewriteRule ^video/? ?id=video [NE,L]

< /ifModule >

这确保我的链接看起来像这样:http ://www.mydomain.com/video/

结果是:http ://mydomain.com?id=video

搜索引擎可以完美地抓取它,只查看用户会看到 flash 的 html 内容,当他们点击链接时,他们会看到如下内容:

http://www.mydomain.com/video/#/contact

正如我所说,它令人满意,不如 Asual 的 SEO 解决方案理想,但足够干净。我在任何地方都找不到关于 swfaddress 的 SEO 示例的任何信息,而且我当然不知道足够多的 php 来深入研究大量未注释的代码。

哦,一定要把它包含在你的 index.php 的头部,它会确保你的链接不会在你的 swfs 加载外部文件时搞砸。

< base href="http://www.mydomain.com/" />

希望在某些时候对某人有所帮助。

于 2011-02-12T12:39:45.797 回答