为什么我的CGI脚本会将链接重定向到localhost?

时间:2010-12-26 01:44:08

标签: perl xampp localhost

访问此页面http://online-file-sharing.net/tos.html,然后点击其中一个底部页脚链接。它会将您重定向到地址栏中的本地主机。我不知道为什么会这样做。

这是我的整个网站围绕的主要脚本:

upload.cgi

$ENV{PATH} = '/bin:/usr/bin'; 
delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV'};
($ENV{DOCUMENT_ROOT}) = ($ENV{DOCUMENT_ROOT} =~ /(.*)/);
# untaint. #$ENV{SCRIPT_NAME} = '/cgi-bin/upload.cgi';
use lib './perlmodules';
#use Time::HiRes 'gettimeofday';
#my $hires_start = gettimeofday();
my (%PREF,%TEXT) = (); 

当有人访问根目录时,没有文件显示,虽然我有一个.htaccess文件说打开我的根目录中的upload.cgi文件。

当我将浏览器直接指向CGI文件时,它可以工作,但它会再次将我带到我的本地主机。

我在我自己的服务器上托管这个网站,这是这台计算机,如果这些信息有帮助,可以使用XAMPP。我也使用DynDNS作为我的名字服务器。

我希望你能给我一些见解。

2 个答案:

答案 0 :(得分:3)

好吧,只看HTML的来源就会发现localhost实际上是链接的一部分。使你的链接相对。例如,如果我给你这个网址:

http://localhost/foobar

总是带到localhost。如果你的情况,你想要的是/foobar,表明它应该从当前主机的根目录开始,并添加添加foobar路径。

答案 1 :(得分:0)

您使用什么来生成HTML?很明显,你不是手写这个或者你已经有了问题的答案,但听起来好像你导致超链接计算不正确。你想要的是一个以/开头的链接,意思是你已经在的任何域的根,或者是相对于当前目录的路径。