1. 程式人生 > >header 跳轉時報錯誤。Header may not contain more than a single header, new line detected

header 跳轉時報錯誤。Header may not contain more than a single header, new line detected

我在用php的header做跳轉時,報錯誤。

Header may not contain more than a single header, new line detected

先貼一下程式碼:

class advertJumpUrl
{
    /**
     * 廣告唯一的key
     * @return array
     */
    private static function aGetKey()
    {
        $sKey = Ko_Tool_Input::VClean("r","k",Ko_Tool_Input::T_STR);
        $sKey 
= \apps\brand\cpm\MFacade_LogApi::sDecrypt($sKey); $aPara = explode('_', $sKey); return $aPara; } /** * 廣告跳轉的url * @return url */ private static function sGetUrl() { $sUrl = Ko_Tool_Input::VClean("r","t",Ko_Tool_Input::T_STR);
return \apps\brand\cpm\MFacade_LogApi::sDecrypt($sUrl); } /** * 程式執行 */ public static function vRun() { $aPara = self::aGetKey(); $sUrl = self::sGetUrl(); // $sUrl = rawurldecode($sUrl); if($aPara && $sUrl) { // 記錄點選事件
\apps\brand\cpm\MFacade_LogApi::vClick($aPara[1], $aPara[0]); header('HTTP/1.1 301 Moved Permanently'); header('location:'.$sUrl); exit; } header('HTTP/1.1 301 Moved Permanently'); header('location:/'); exit; } } advertJumpUrl::vRun();

在網上搜索一下,是因為URL編碼有問題。我嘗試用urlencode 然後再urldecode。發現不行。

有人建議用rawurlencode。我試了試,成功了。

urlencode 和rawurlencode 的區別:

urlencode 將空格則編碼為加號(+)
rawurlencode 將空格則編碼為加號(%20)

參考文件:

https://stackoverflow.com/questions/16320403/getting-warning-header-may-not-contain-more-than-a-single-header-new-line-dete

http://www.jb51.net/article/24123.htm

相關推薦

header 時報錯誤Header may not contain more than a single header, new line detected

我在用php的header做跳轉時,報錯誤。 Header may not contain more than a single header, new line detected 先貼一下程式碼: class advertJumpUrl { /** * 廣告唯一的key

thinkPHP5.0中使用header沒作用

  我在controller中的方法中這樣寫: header("Location:".$url);   但是一直沒動靜,不會跳轉,最後還是官方文件解決了 https://www.kancloud.cn/manual/thinkphp5/118051   使用 $this->red

struts2中直接訪問沒問題但是時報404錯誤的問題

index.jsp頁面: <jsp:forward page="student.action"></jsp:forward> 在struts.xml配置如下: <package name="struts2" extends="stru

struts2中時報404錯誤的問題

問題如下: index.jsp頁面: <jsp:forward page="show.action"></jsp:forward> 在struts.xml配置如下: <package name="struts2" extends="s

ThinkPHP3.2.3:空模組、空控制器、空操作,錯誤404頁面

【演示準備】     首先下載了一個ThinkPHP3.2.3,目錄結構如下:(只有Home模組、Index控制器、index操作方法)     然後找了一個簡易的錯誤404頁面404.html放到了根目錄: 【空模組】 訪問一個不存在的模組Admin,錯誤提

vue 路由 .$router.pushwindow.open 引數

vue $router.push  接著之前的url  需要新的url  ,不用之前  window.open 引數 可選。指定target屬性或視窗的名稱。支援以下值: _blank - URL載入到一個新的視窗。這是預設 _parent -

Flask 框架 網頁詳解

在Flask框架中,網頁跳轉這是必不可少的。 如果沒有跳轉的網頁,就不算框架的內容,因此要想學會Flask框架,必須要學會跳轉。 那麼我就來個本人做過的列子。 ———————————————————————————————————————— 首先是主面板的程式碼。 # -*- encod

html載入js檔案超時,錯誤頁面

如果超時還沒有加載出來js檔案,跳轉到錯誤頁面: <script> window.onload = function () { var el = document.queryS

web.config中配置頁面出錯後指定錯誤頁面

每當使用者訪問錯誤頁面時,會出現不友好的404錯誤,所以為了防止這種不友好,我們在web.config中的<system.web>節點下配置 <customErrors>,在出現比如403 404這樣的錯誤時,跳轉到我們自定義的頁面 <cus

SpringBoot圖文教程15—專案異常怎麼辦?「404錯誤頁面」「全域性異常捕獲」

![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200312205829155-764801728.png) > **有天上飛的概念,就要有落地的實現** > > - 概念十遍不如程式碼一遍,朋友,希望你把文

ios導航控制器UINavigationController,控制器a(push)到b後,b(push)到c,但c後退(pop)進入a

data- object tracking not another target eas com targe 參考:StackOverflow ios導航控制器UINavigationController,控制器a跳轉(push)到b後,b跳轉(push)到c。但c後退

關於startActivityForResult()方法,如果是AB,B的launchMode屬性為singleInstance,A的onActivityResult()回撥方法會在什麼時候呼叫呢

如題: 關於startActivityForResult()方法,如果是A跳轉B,B的launchMode屬性為singleInstance,A的onActivityResult()回撥方法會在什麼時候呼叫呢? A.B被啟動的時候即呼叫 B.B返回的時候呼叫 C.下一次A啟動的時候呼叫 D.不會

錯誤:org.hibernate.PropertyValueException:not-null property references a null or transient value解決方案

org.hibernate.PropertyValueException: not-null property references a null or transient value: com.zyj.test.Card.cardnum 提示很明顯,非空的值關聯了一個空值或無效的值,就

錯誤程式碼: 1242 Subquery returns more than 1 row

1. 錯誤描述 1 queries executed, 0 success, 1 errors, 0 warnings 查詢:SELECT t.id, DATE_FORMAT( t.statis

weblogic部署問題,Exception occured while downloading files,Error Comments may not contain '--'

前言: wbelogic部署專案到叢集的過程(stage模式),首先專案會載入到AdminServer,然後受管伺服器從AdminServer下載專案,最後進行專案的一致性校驗。如果一致,那麼部署成功

使用PHP程式header location 進行的注意的一個細節!

眾所周知,PHP網站跳轉有三種方法:JS、HTML META Refresh、PHP header("location: $url")。但是這裡有一個非常小的細節,很容易導致出錯。有一次製作一個跳轉程式,結果忽略了這一點,導致跳轉其實都是沒有成功。程式全部原始碼如下,程式地址

JavaScript基礎 a標記 使用onclick事件阻止默認 onclick事件 與 ,onclick事件優先執行

傳智 技術部 推薦 turn utf 傳智播客 ctype div type 鎮場詩:    清心感悟智慧語,不著世間名與利。學水處下納百川,舍盡貢高我慢意。    學有小成返哺根,願鑄一良心博客。誠心於此寫經驗,願見文者得啟發。—————————————————————

nginx自定義500,502,504錯誤頁面無法

header cli targe head href 錯誤 error tom htm 1、自定一個頁面,這個頁面是一個鏈接地址可以直接訪問的。 以下是nginx的配置: location / { proxy_pass http://tomcat_

【2017-05-21】WebForm跨頁面傳值取值、C#服務端頁面、 Button的OnClientClick屬性、Js中getAttribute和超鏈接點擊彈出警示框

代碼 height delet update size 內存 客戶 bar win 一、跨頁面傳值和取值: 1、QueryString - url傳值,地址傳值 優缺點:不占用服務器內存;保密性差,傳遞長度有限。 通過跳轉頁面路徑進行傳值,方式: href="地址?ke

一些理解-過濾器,攔截器,ajax提交後不,document.location.href無效,回調函數

客戶 發送 觀察 要去 jaxb 源碼 流程 type類 攔截器的工作流程 1.struts2中過濾器和攔截器的工作流程: request-->執行自定義過濾器doFilter方法中的chain.doFilter()方法前的代碼-->執行默認過濾器doFilte