[英]Error 500 when redirecting with location header?
我的代码尝试根据 url 中的 appname=x 参数重定向用户,该参数现在已被删除,因为只有一个参数是可能的,即代码的工作方式如下:
$appName="dev" //variable still set because it's used a lot
if($appName!=null){
//write to log file
if($appName="dev"){
echo "<script>console.log('test successful');</script>";
header('Location: '. 'https://dev.company.com'); //doesn't matter which address I put here
else{
echo "<script>console.log('not the dev');</script>";
}
}
有趣的是,虽然我保留了“header()”行的注释,但回显记录到控制台就好了。 只要有任何标头('Location: ....),我就会收到 500 内部服务器错误。 无论我将 function 设置为 go 到哪个页面,都会发生这种情况。
出于安全原因,我无法打印整个错误,但它基本上看起来像这样:
突出显示各个参数的位置。
更奇怪的是callback.php 的第一行是console.log。 在这种情况下,在 header() 运行时永远不会达到这一点。 我没有看到我在这里做错了什么。 有任何想法吗?
我不想粗鲁,但我认为你的代码搞砸了,你忘记了分号和右大括号,你能试试下一个代码吗?
<?php
$appName="dev"; //You forgot this semicolon
if($appName!=null){
if($appName=="dev"){ // You have to use == operator to compare, not =
echo "<script>console.log('test successful');</script>";
header('Location: '. 'https://dev.company.com');
} // And also this closing brace
else{
echo "<script>console.log('not the dev');</script>";
}
}
此外,如果您不熟悉 PHP,请尝试使用 IDE 进行自动完成。
我还应该补充一点,您不需要向客户端打印错误以了解发生了什么,这些错误通常记录到日志文件中,如果您没有 PHP 错误的日志,请考虑配置日志记录选项.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.