PHP重定向标头最佳实践

我正在创建一个PHP CMS,并有一些系统页面,如404页面,维护页面和未经授权的访问页面.如果找不到页面A,CMS将重定向到404页面;如果用户无权访问页面B,它将重定向未授权的访问页面等.

我想在每个页面标题中使用正确的状态代码,但我需要澄清如何处理标题/重定向.我是否将404标题放在页面A上,然后重定向到404页面,还是将404状态放在404页面上?另外,如果后者是正确的答案,我应该使用什么样的重定向到达301或302?

解决方法:

如果用户到达页面A并且该页面不存在,则不要重定向:只需从页面A发送404错误代码 – 并且,为了对您的用户有益,HTML内容指示该页面不存在.

通过这种方式,浏览器(对于抓取工具来说更是如此!)会知道找不到的页面页面A,而不是您尝试重定向到的任何其他页面.

对于其他类型的错误也是如此,顺便说一下:如果特定的URL对应于错误,则应该从该URL发送错误代码.

基本上,这个简单的东西就足够了:

if (page not found) {
    header("404 Not Found");
    echo "some nice message that says the page doesn't exist";
    die;
}

(当然,你可以输出更好的东西;但你明白了;-))

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...