.htaccess跨浏览器

问题描述:

我试图加载一个自定义错误文档的404错误使用Linux服务器上的.htaccess文件,页面获取当前页面URL然后重定向到另一个站点(这是从数据库检索)基于在从URL检索到的id上。.htaccess跨浏览器

的当前错误的文件都存储在这里:

/上-error_docs‖/ - 我没有权限上传比已经在那里

/HTTPDocs/301redir.php 是HTML文件的其他任何.htaccess文件所在的网站根目录。

我已经使用以下方式加载301redir.php页面作为错误文档,它在FF中工作,但没有其他浏览器。使用的.htaccess正在改变这个我唯一真正的选择

的ErrorDocument 404 /310redir.php

,有没有办法来解决这个问题,并使其在所有浏览器的工作?

+0

你确定它工作在Firefox?错误处理发生在服务器端,只有输出被发送回客户端。所以它可以适用于任何客户或任何客户。 – Gumbo 2010-06-15 12:24:20

+0

你说“没有其他浏览器”,你有什么其他浏览器尝试过吗?您是否从日志中验证其他浏览器实际上是否生成了正确的错误(并且没有成功)? – ircmaxell 2010-06-15 12:59:36

也许你的文件太小,看到从apache docs以下摘录:

微软的Internet Explorer(MSIE) 将默认忽略 服务器生成的错误消息时 他们是“太小”并用它自己的“友好”错误消息替代 。该 大小阈值取决于 错误类型的不同而不同,但一般来说,如果你 让你的错误文档大于 512字节,然后MSIE将显示 服务器生成的错误,而不是 掩盖它。有关详细信息,请参阅Microsoft知识库文章 文章Q294807中提供的 。

+0

不错的建议我阅读关于defalt服务器错误页面的注意事项!虐待稍后尝试。 – lordsharp 2010-06-15 14:50:27

+0

虽然这不能解释为什么即使在Ch + Op – lordsharp 2010-06-15 14:51:03

这应该做工精细,尝试把完整的URL http://www.yourdomain.com/301redir.php

我也注意到youu说310redir.php就是你们的榜样,但301redir.php在你的描述(注意:310和301)。

另外不要忘记添加header("HTTP/1.1 404 Not Found");如果你正在做一个404

+0

THE 310/301中得到同样的问题,这只是我在这里输入问题时犯的一个错误。我故意使用301,因为我在类似的网站上工作bit.ly。我使用404 htaccess错误来加载php页面,当用户试图查看一个不存在的目录时,例如hhtp://yourdomain.com/3h5i435,(而不是默认的htmls文档),然后执行301头部重定向。 – lordsharp 2010-06-15 14:49:52

+0

为什么不使用ModRewrite? – Lizard 2010-06-15 15:01:15