【问题标题】:Why is meta refresh redirect no longer working and how can I fix it?为什么元刷新重定向不再起作用,我该如何解决?
【发布时间】:2012-03-30 17:52:32
【问题描述】:

提前感谢您提供的任何帮助!

我有一个用 Ruby on Rails 构建的网站。我的网站有一个网页,位于 example.com/communityboard,您可以使用该网页进入一个单独的社区区域(一个名为 bbPress 的现成公告板。)

我希望将输入 URL example.com/community 的用户重定向到 example.com/communityboard。它曾经以这种方式工作,但由于某种原因,重定向不再适用于 IE 以外的任何浏览器。

我们通过在安装了 bbPress 的 /community 文件夹中放置一个 index.html 文件来完成此重定向。 index.html 文件的整个代码如下:

<meta http-equiv="refresh" content="0;url=http://example.com/communityboard">

当我们建立网站时,有人告诉我使用 index.html 文件的元刷新重定向是最好的选择。重定向必须只针对单个页面 (http://example.com/community) 而不是社区 bb 的所有子级别(位于 http://example.com/community/index.php)。否则,社区 bb 及其所有子级别将被重定向。

所以...我的问题:

为什么元刷新重定向不再起作用? 我该如何解决?

再次感谢您提供的任何帮助!

【问题讨论】:

    标签: ruby-on-rails redirect bbpress


    【解决方案1】:

    如果它仅在 IE 中运行,则可能存在破坏其他浏览器的脚本或解析问题。我会通过像 http://validator.w3.org/ 这样的验证器运行 HTML。

    元刷新是一种传统做法,现在不鼓励使用——维基百科条目包含更多信息和替代解决方案的链接:http://en.wikipedia.org/wiki/Meta_refresh

    【讨论】:

    • Tx, mcknz。检查 /community 和 /community/index.html。一些错误,但不认为它们是相关的。社区导致 404 错误。它的错误文档有 3 个错误,都与元描述有关。对于 Index.html,“DOCTYPE 声明中公共标识符和系统标识符之间的不匹配”。 “此文档使用了不一致的 DOCTYPE 声明。”缺少元素 html 的 xmlns 属性。值应为:http://www.w3.org/1999/xhtml 对元刷新的替代方案开放,但重定向必须仅针对单个页面 (example.com/community) 而不是 bb 的子级别。
    • 您可以使用 PHP 文件作为“example.com/community”中的默认文档并进行服务器端重定向,而不是添加带有元刷新的 index.html 文件吗?这应该消除任何浏览器差异。
    • 我们在 example.com/community/index.php 有一个文件,在 example.com/community/index.html 有一个文件。 HTML 元刷新重定向。 PHP 作为社区委员会的最高级别。问题似乎是当您输入“example.com/community”(没有 /index.html 或 /index.php)时,您会收到 404 错误。它没有拾取任何一个文件。你怎么看?
    • 我唯一能想到的可能是该站点已配置为查找除索引之外的其他默认文档。
    • 由于某种原因,该站点现在正在按预期运行!我将在下周尝试找出它是如何发生的,并将在此处报告。
    【解决方案2】:

    这是我的开发人员所说的。没完全看懂解释,不知道能不能回答后续问题! “对于旧的 mongrel 集群,Apache 会将“/community”识别为一个目录,静默转发到“/community/”,然后它会获取转发的 index.html 文件。使用 Phusion Passenger,”我猜我们是现在使用,“如果“/community”不是常规文件,Apache 会直接向乘客发送请求,并且乘客返回 404 错误。作为修复,我们在社区文件夹中禁用了乘客,从而解决了问题。

    【讨论】:

      猜你喜欢
      • 2019-05-26
      • 2021-09-26
      • 1970-01-01
      • 2014-04-28
      • 2012-06-30
      • 1970-01-01
      • 2013-03-05
      • 1970-01-01
      • 2023-02-02
      相关资源
      最近更新 更多