溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用PHP程序headerlocation進(jìn)行跳轉(zhuǎn)需要注意什么

發(fā)布時(shí)間:2021-09-22 14:38:04 來(lái)源:億速云 閱讀:125 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹使用PHP程序headerlocation進(jìn)行跳轉(zhuǎn)需要注意什么,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

  眾所周知,PHP網(wǎng)站跳轉(zhuǎn)有三種方法:JS、HTMLMETARefresh、PHPheader("location:$url")。但是這里有一個(gè)非常小的細(xì)節(jié),很容易導(dǎo)致出錯(cuò)。

  使用PHP程序headerlocation進(jìn)行跳轉(zhuǎn)的注意的一個(gè)細(xì)節(jié)

  有一次制作一個(gè)跳轉(zhuǎn)程序,結(jié)果忽略了這一點(diǎn),導(dǎo)致跳轉(zhuǎn)其實(shí)都是沒(méi)有成功。

  <?php

  error_reporting(7);

  $url=urldecode(trim($_REQUEST['url']));

  if($url)

  {

  header("Location:$url");

  }else{

  }

  firefox瀏覽器是正常的。后來(lái)把這個(gè)跳轉(zhuǎn)程序復(fù)制到公司的另外一個(gè)網(wǎng)站,讓QQ上的一些好友測(cè)試,結(jié)果很多人都說(shuō)打不開(kāi):IE內(nèi)核的瀏覽器直接提示無(wú)法訪問(wèn)或者找不到,chrome有時(shí)候會(huì)提示被重置或找不到,使用firefox測(cè)試也偶偶會(huì)提示無(wú)法找到,但多刷新一次才顯示正常。

  仔細(xì)檢查代碼,是沒(méi)有問(wèn)題的。況且firefox是可以跳轉(zhuǎn),后想到了以往閱讀到的一點(diǎn)就是:IE瀏覽器如果輸出的內(nèi)容字節(jié)太?。ㄐ∮?12字節(jié)),那么就會(huì)被忽略。然后將源碼由headerlocation跳轉(zhuǎn)修改為jshtml才所有瀏覽器都測(cè)試通過(guò),原先偶偶出現(xiàn)firefox點(diǎn)擊提示找不到xxx服務(wù)器也沒(méi)有再出現(xiàn)過(guò),現(xiàn)go.php全部源碼:

  <?php

  error_reporting(7);

  functiongheader($url)

  {

  $url=urldecode(trim($_REQUEST['url']));

  if($url)

  {

  gheader($url);

  }else{

  }

  對(duì)于PHP跳轉(zhuǎn),我認(rèn)為最好的方法就是用JS+HTMLMETA。HTMLMETA可以保證訪客在禁用JS的情況下可以照樣跳轉(zhuǎn)。

  headerlocation的注意問(wèn)題

  1.location和“:”號(hào)間不能有空格,否則不會(huì)跳轉(zhuǎn)。

  2.在用header前不能有任何的輸出。

  3.header后的PHP代碼還會(huì)被執(zhí)行

以上是“使用PHP程序headerlocation進(jìn)行跳轉(zhuǎn)需要注意什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI