2017-07-28 74 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帮助了我。

相关问题