2017-07-28 214 views
2

編輯Apache2的「響應頭名‘<! - ’包含無效字符,中止請求」

的問題無關,與HTTP標頭。這是一個在定義之前在cgi/python腳本中調用的變量。以防其他人也嘗試使用類似的錯誤消息,但找不到原因。


我繼承基礎上,我試圖保持的Apache2 /蟒蛇/ CGI腳本一個網站,但有時我跟真的無用的錯誤掙扎。在這種情況下,當點擊頁面上的元素時,我會得到The server encountered an internal error or misconfiguration and was unable to complete your request.。錯誤日誌給我以下信息:
[Fri Jul 28 14:11:15.150877 2017] [http:error] [pid 1727] [client 193.174.111.250:53426] AH02429: Response header name '<!--' contains invalid characters, aborting request

基於類似question,我假設的錯誤是相當新的,但我不能發現問題。特別是因爲鏈接/腳本名稱保持不變。它在第一次打開網站時起作用,但當我點擊某個不會將我引向其他網站/腳本的東西時,它就會停止工作。這怎麼可能是標題的錯?

以防萬一,這裏是生成網頁的開頭代碼:

Code = "Content-Type: text/html\n\n" 
Code += "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'>\n<html>\n"  
Code += "<head>\n <title>BACTOME: RELATIVE EXPRESSIONS</title>\n" 
... 

據我現在明白了,第一行構成了唯一的HTTP標頭,我。如錯誤日誌中所述,沒有'<!--'。頭部是否需要其他功能?另外,如果有任何簡單的方法可以將這些泛型錯誤變成更加冗長的錯誤,我也會對此非常感興趣。

+0

您似乎混淆** HTTP標頭**和** HTML的標籤** 。所以有兩個解決方案:1.你粘貼的代碼是_really_你如何生成http頭文件。如果是的話,這實際上不是什麼http頭應該看起來像。 2.這不是你如何生成http頭,但HTML和其他地方發生的錯誤。 – Arount

+0

你說得對,當然,這是HTML頭,而不是HTTP。我還沒有找到任何代碼,所以我沒有意識到我正在看錯的東西...... –

+0

如果你確定你的問題不是一個_good問題_(又不是有效地幫助別人的東西),它刪除它是公平的。 – Arount

回答

0

在我的情況下,問題的方式從打印語句的輸出

之前的aligment:

try: 
    if <some-condition> 
     message = "%s" % filename 
    else: 
     message = "file not found" 
    print """\n 
     Content-Type: text/html\n 
     <html><body> 
     <p>%s</p> 
     </body></html> 
     """ % (message,) 
except Exception as e: 
    print e 

後:

try: 
    if <some-condition>: 
     message = "%s" % filename 
    else: 
     message = "file not found" 
    print """\ 
Content-Type: text/html\n 
<html><body> 
<p>%s</p> 
</body></html> 
""" % (message,) 
except Exception as e: 
    print e 
+0

At有趣的是,在所有產生這個網站的腳本中都沒有這個東西,我目前正在休假,但是一旦我回到辦公室,我一定會看看那個,謝謝你分享你的見解! - ) –

+0

這絕對不是問題,在Content-Type之前添加一個換行符只會導致代碼被打印而不是正在顯示的網站 –

+0

你是對的問題是你的print語句中html文本的對齊,檢查我的編輯答案 – eorochena

0

對於同樣的錯誤,在類似的打印案例,這是由於數據庫整理;將其更改爲UTF-8幫助了我。