【问题标题】:Redirect URLs with #! dynamic content使用 #! 重定向 URL动态内容
【发布时间】:2015-02-16 10:14:40
【问题描述】:

我在 Wix 上创建了一个临时站点,很快就需要迁移到在 Zend Framework 2 中创建的新站点。出于 SEO 的原因,为了不失去迄今为止获得的排名,我需要 301 重定向页面 URL旧站点到新站点的页面,问题是 Wix 使用了一些奇怪的地址,例如 www.mysite.com/#!about/etc,因此 .htaccess 中的 Redirect 301 规则不能作为 # 之后的内容不被视为链接的一部分。如何在不丢失 Google 汁液的情况下从此类 URL 重定向?谢谢。

【问题讨论】:

  • 你必须在JS中处理/#!about/etc
  • 如果我不 301 重定向完整的 URL,我不会丢失我的 SEO 结果吗?
  • JS 上不能有 301 但# 之后的部分甚至在 Web 服务器上都看不到。您将需要 JS 和服务器端规则的组合。

标签: .htaccess redirect zend-framework2 seo


【解决方案1】:

此代码应该允许您将参数传输到带有 301 的最终站点。

RewriteEngine On

RewriteCond %{HTTP_HOST} ^yourdomain.tld [NC]
RewriteRule ^(.*)$ http://newdomain.tld/$1 [R=301,L]

【讨论】:

  • 那么如何在同一个域上将“/#!about/etc”301 重定向到“/about”?抱歉,我还是不太了解那些 .htaccess 规则。
  • 你能给我一些你想要的重定向的例子吗?
  • 当前页面是“www.mysite.com/#!about/etc”,它必须被重定向到同一域“www.mysite.com/about”上的新页面。只有几页,所以一旦我知道该怎么做,我就可以轻松处理它们。
  • 如果我尝试:RewriteCond %{HTTP_HOST} ^/#!about/etc [NC] RewriteRule ^(.*)$ /about$1 [R=301,L] 它不起作用,只会停留在主页上。怎么了?
【解决方案2】:

经过更多研究,我发现 Wix 正在使用 Ajax 爬行,当您需要离开并重定向页面时,这真的很不友好,因为它使用 #!在网址中。 我还发现这些 URL 被 Google 解析为转义片段,所以我使用了

RewriteCond %{QUERY_STRING} ^_escaped_fragment_=about/etc$
RewriteRule ^$ /about? [R=301,L]

希望能完成这项工作并将我旧页面的 Google 汁液重定向到新页面。

【讨论】:

  • 我是这么认为的,但我不知道该怎么说。
  • 如果你访问的页面末尾带有 ?_escaped_fragment_=about/etc ,页面会被重定向吗?
  • 因此,从您的示例来看,www.mysite.com/?_escaped_fragment_=about/etc 如果您的重定向有效,它应该像我相信的那样捕获并重定向请求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-19
  • 2021-05-02
  • 2013-08-29
  • 2013-05-15
  • 2020-01-21
  • 1970-01-01
相关资源
最近更新 更多