• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

http-equiv实现跳转与header跳转有啥区别?还是这两个就没有任何区别

php 搞代码 4年前 (2022-01-25) 17次浏览 已收录 0个评论
文章目录[隐藏]

<?php

<code><br>session_start();if(isset($_SESSION['userId'],$_SESSION['name'],$_SESSION['rights'])){    echo "<meta http-equiv=\"refresh\" content=\"0;url=mannager.php\">";}else{    echo "<meta http-equiv=\"refresh\" content=\"0;url=login.php\">";}</code>

如上代码,这个与header实现跳转有什么不一样呢?

本#文来源gaodai$ma#com搞$$代**码网$

回复内容:

<?php

<code><br>session_start();if(isset($_SESSION['userId'],$_SESSION['name'],$_SESSION['rights'])){    echo "<meta http-equiv=\"refresh\" content=\"0;url=mannager.php\">";}else{    echo "<meta http-equiv=\"refresh\" content=\"0;url=login.php\">";}</code>

如上代码,这个与header实现跳转有什么不一样呢?

区别就是:

meta redirect可以应用于, http headers已经发送出去的情况. 比如网页已经渲染了一半,却要做跳转. 还有个好处就是可以延时跳转.

header redirect就是, http headers还没发送时做跳转, 比如,网页一打开, 还没渲染, 就跳转. 这个时候用header("Location: url", $status_code). 还可以加status code而前者就不行了.

我更倾向于header, 用meta redirect, 偶尔遇到过跳转没成功, 变空白. header redirect可以加status_code, 对于seo还是比较好的.

像你这个代码, 用header吧. session_start(); 只有在http headers还没发送时,才能调用成功.

如果一定要用meta redirect, 建议后面加个 exit;


仔细想想,一个在服务端,一个在浏览器,没啥好比较的….. :[


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:http-equiv实现跳转与header跳转有啥区别?还是这两个就没有任何区别

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址