我正在将一些非常古老的遗留perl cgi代码移动到新服务器上。
除了一个脚本和一行之外,所有旧的perl东西似乎都在工作。
我不确定我是否忘记加载某些东西(通常它告诉我我错过了什么)
导致错误的代码行:
print $query->redirect(-location=>"/servlet/guestbookServlet?method=displayGuestBook&dir=kam");
错误日志中的错误是
malformed header from script. Bad header=HTTP/1.0 "/servlet/guestbookSe: guestbook.pl
如果我从脚本中输入格式错误的标题。错误的标头= HTTP / 1.0“/ servlet / guestbookSe:guestbook.pl durectly在浏览器中它很好
如果我把
print header
print $query->redirect(-location=>"/servlet/guestbookServlet?method=displayGuestBook&dir=kam");
浏览器刚刚打印出来(我不确定它看起来是否正确?)
HTTP/1.0 "/servlet/guestbookServlet?method Status: "/servlet/guestbookServlet?method
Window-target: kam" Set-cookie: displayGuestBook&dir Expires: -Status Date: Tuesday,
31-Dec-2013 14:04:37 GMT -Location http://www1.mydomain.com/cgi-local/guestbook.pl?
action: -URI http://www1.mydomain.com/cgi-local/guestbook.pl?action: -nph 0 Content-
type: LOCATION
答案 0 :(得分:4)
尝试
print $query->redirect("/servlet/guestbookServlet?method=displayGuestBook&dir=kam");
没有-location
。另请查看docs下的GENERATING A REDIRECTION HEADER。