0

我在这里不知所措。

我在 synergration.com 上有一个新的 Wordpress 网站。

如果您在移动设备(手机,而不是平板电脑)上访问它,它通常会在第一次加载时正常加载。一旦您单击另一个页面和/或重新加载主页,它就会跳入重定向循环,无限期地尝试一遍又一遍地重新加载同一页面......

我已经清除了代码,但找不到任何 JS 重定向。我还联系了主题开发人员,他们一直无法提供帮助。

当我开始在 WP Engine 上托管时,这才成为一个问题。他们使用了一些高级缓存,这似乎是这里的罪魁祸首,因为当我在他们的暂存服务器(不存在缓存)上测试移动站点时,它加载得很好。

我就此事联系了 WPEngine,这是他们的回复:

这是由在我们的平台上运行的缓存系统引起的。看起来主题正在处理内部重定向,该重定向检测用户代理(桌面或移动)并根据该信息将访问者重定向到适当的站点。但是,重定向卡在缓存中,导致移动版本无限循环加载。不幸的是,我们没有一个简单的解决方案。如果这只是站点的一部分,我们可以免除站点的该部分缓存,但由于它覆盖了整个站点,因此不能免除缓存。我们的暂存区不受所有缓存的影响,这就是它在那里正常工作的原因。(旧主机很可能使用的是非缓存环境,这就是为什么您在那里没有看到这个问题的原因)。我会联系主题开发人员并询问他们以前是否遇到过这个问题。他们很有可能,他们可能有一个聪明的解决方案作为解决方法。您可以选择禁用移动路由,这将解决重定向问题,尽管移动设备将加载站点的完整版本而不是精简的移动版本。

如上所述,主题开发人员没有任何解决方案,我又回到了第一方,所以我想我会伸手去堆栈,看看你是否有任何想法。

4

3 回答 3

0

它在我手机的 Opera Mini 浏览器中运行良好。要回答您的问题,另一种方法是创建一个移动子域,例如 m.yourdomain.com。将此决定公之于众,并让移动用户提前知道这是为移动用户准备的网站。加载特定的移动站点比访问页面然后被重定向更好。它还可以节省时间。

在开发移动网站时,请记住使用最少的 JavaScript。原因是,旧的移动版本可能不支持 JavaScript,如果 JavaScript 是必不可少的,那么它就会成为一个大问题。

谈到主题,如果它卡住并且开发人员不知道,那么现在最好的选择是更改模板。让开发人员检查他的代码。到那时,您可以使用另一个模板,这将使网站无论是在移动设备上还是在其他任何地方都能正常运行。因为,小错误可以从您的网站转移大量流量。坦率地说,我不知道 WP 存在哪些缓存问题,而且我不希望这里的任何人知道这一点,所以这真的取决于时间。到那时,正如我所说,暂时尝试使用其他模板。

一切顺利。

于 2013-09-03T16:56:07.443 回答
0

我最近遇到了类似的问题。花了很多时间,但我终于弄明白了。

为了防止重定向缓存,您必须使用 302 重定向。此外,您已经在 wordpress 的“template_redirect”操作中初始化了这个重定向。如果你像“init”那样做,它也会被缓存。

于 2013-10-21T18:19:36.383 回答
0

我在 WP Engine 上有两个带有重定向的站点。它们是相同的 gensis 子主题和重定向插件。我有一个设置,其中一个 DNS 重定向到“M.sitename.com” URL 的 cname 记录,另一个重定向到与您上面提到的相同问题的移动站点。我对指向 cname 记录的站点没有任何问题。我正在将其他站点更改为 cname 配置,以查看它是否有所作为。我不知道为什么会这样,但认为您可能会发现这很有价值。

于 2013-09-05T01:00:41.943 回答