路由重定向决策

时间:2010-03-28 22:40:30

标签: php design-patterns redirect

我真的不知道为什么我这样认为这是一个非常完全无关的问题,我应该在几毫秒内找到答案,但我正在这样做。

所以在我的项目中,我有一个Router类,它分割请求并选择要加载的正确页面。好到目前为止。

现在,当用户请求不存在的页面时,我显示了一个页面,您知道404

理论上,如果用户输入mydomain.com/404(我通过index.php?req=*使用带有请求收集器的mod_rewrite),则会向他显示404错误,但实际上没有错误 - 404页面将显示为完全正常的页面。

因此,如果有人试图通过/404请求404页面,他将会显示该页面,但他无法判断他所请求的404页面是否不存在且他实际上是否正在获取,猜对了,404错误或者他是否真的在系统中发现了一些缺陷,使他能够在没有错误时看到错误页面。

我不知道这里的整个事情是多么愚蠢,但我相信你们中的一些人实际上已经遇到过这个问题。

简短版本:如果用户输入mydomain.com/404,即使没有404错误,也会显示404页面。 我知道这是一个完全不相关的问题,请不要告诉我,但我只是自发地想听听你的想法。奇怪啊?

  • 我应该将对404页面的直接访问重定向到主页吗?
  • 我什么都不做?
  • 我应该上床睡觉并停止询问无关紧要的东西吗?

1 个答案:

答案 0 :(得分:1)

我认为你不应该做任何事情。当用户收到404错误时,HTTP响应代码应为404.当他们请求404页面时,HTTP响应代码应为200(OK),即使页面内容相同。

能够链接到人们的404页面有时很有用,特别是如果他们很机智的话。