【问题标题】:php redirect/header(location) doesnt work on cgiphp 重定向/标题(位置)在 cgi 上不起作用
【发布时间】:2014-03-07 12:29:17
【问题描述】:

我有一个关于在 cgi-server 上运行的 php 中重定向的问题。问题是 cgi-server 以某种方式忽略了重定向命令,因此没有重定向。需要明确的是:当我在 apache 上使用相同的脚本时,没有问题。

好的,现在详细信息: 我正在使用 Header('Location:'.$URL) 函数从一个脚本重定向到另一个脚本。我曾尝试使用相对 URL 和完整 URL,但似乎我还没有在脚本中编写重定向。

例如我用

创建了一个测试脚本
#!/usr/bin/php54

<?php
header('location:http://www.google.com/');
exit();
?>

当我在 Apache 上运行脚本时,我将被重定向到 Google,在 cgi 服务器上,我会给我一个没有 quellcode 的空白页面...编辑器告诉我 2 行但也有空。

最终脚本中还有一些其他代码内容,但它们在 Apache cgi 上运行良好。现在唯一的问题是重定向,这就是为什么我在一个简短的脚本中对其进行了测试,但如果没有任何其他“麻烦制造者”,它仍然无法工作。

我已经使用 php 工作了几年,但现在是第一次使用 cgi。根据我的经验,php端不应该有问题,但我真的不知道cgi中发生了什么......所以我想那里有问题吗?一些 cgi 设置?

再次:Skript(见上文)在 Apache 上运行良好(没有第一行 #!...)但在 cgi 上却不行:-(

请帮帮我!

【问题讨论】:

    标签: php redirect header location cgi


    【解决方案1】:

    我以前遇到过这种情况,通常是因为重定向位置和location的分号之间没有空格。

    试试:

    #!/usr/bin/php54
    
    <?php
       header('location: http://www.google.com/');
       exit();
    ?>
    

    【讨论】:

    • 感谢您的快速回答...我已经尝试使用额外的空间,但仍然...不起作用:-(
    • 你看过this吗?
    • 强制重定向已关闭(来自 serveradmin 的命令),因此区分重定向或直接调用应该没有任何问题。我第一次重定向到的站点也在 cgi 上工作,所以没有错误为什么重定向也不应该工作。但是我是否理解正确,您的意思是可能存在强制重定向,因此不允许我调用重定向页面?如果是:再次启动,所以这不应该是问题:-(但再次感谢您的快速回答和您的努力...我真的希望解决方案是那么简单:) 绝望
    • 好吧...我放弃...我的这个问题在我的私人网络空间上不存在...(但在这种情况下,我不太确定这是否真的在 cgi-服务器,但是第一行没有弹出,所以我在 cgi-space 上尝试的机会很高)所以这个问题将被转移到我的服务器管理员。 -.-
    【解决方案2】:

    你可以试试下面的代码:

    #!/usr/bin/perl
    print "Location: http://example.com\n\n";
    

    【讨论】:

      猜你喜欢
      • 2014-11-19
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 2014-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多