apache 调用表单操作时复制cgi-bin

aurhwmvo  于 2023-03-19  发布在  Apache
关注(0)|答案(1)|浏览(129)

我在ipage上有一个网站,工作正常。我试图将它迁移到谷歌云,当通过表单操作调用时,cgi-bin被复制,如下所示:

http://34.28.183.10/cgi-bin/cgi-bin/list_directory_1.cgi?directory=%2CBrasil%2CMinas+Gerais&submit_trailing_directory=

如果我删除额外的cgi-bin,它会工作,例如:

http://34.28.183.10/cgi-bin/list_directory_1.cgi?directory=%2CBrasil%2CMinas+Gerais&submit_trailing_directory=

我将脚本 list_directory_1.cgi 放在 /usr/lib/cgi-bin 中,其操作调用此脚本的表单如下所示:

print qq(<form action="cgi-bin/list_directory_1.cgi" method="GET">\n);

apache 2日志文件显示如下:
[Thu 2023年3月16日14:39:49.939253] [目录号:错误] [标识号5389:tid 140165141997312] [客户端107.217.8.189:52312] AH 01264:找不到脚本或无法执行stat:/usr/lib/cgi-bin/cgi-bin,引用者:http://34.28.183.10/cgi-bin/list_directory_1.cgi?directory=%2CBrasil&submit_directory=

ev7lccsx

ev7lccsx1#

相对路径开头的URL(如cgi-bin/list_directory_1.cgi)解析方法为:
1.获取基本URL(http://34.28.183.10/cgi-bin/list_directory_1.cgi?directory=%2CBrasil&submit_directory=
1.删除路径中最后一个/之后的所有内容(http://34.28.183.10/cgi-bin/
1.追加相对路径(http://34.28.183.10/cgi-bin/cgi-bin/list_directory_1.cgi
请改用绝对路径(以单个/开头):

<form action="/cgi-bin/list_directory_1.cgi"

这些问题可通过以下方式解决:
1.获取基本URL(http://34.28.183.10/cgi-bin/list_directory_1.cgi?directory=%2CBrasil&submit_directory=
1.删除整个路径之后的所有内容(包括整个路径)(http://34.28.183.10
1.追加绝对路径(http://34.28.183.10/cgi-bin/list_directory_1.cgi

相关问题