Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用标头位置时获取HTTP错误500_Php_Redirect_Vps_Plesk - Fatal编程技术网

Php 使用标头位置时获取HTTP错误500

Php 使用标头位置时获取HTTP错误500,php,redirect,vps,plesk,Php,Redirect,Vps,Plesk,因此,我有一个网站托管在我自己的服务器(UpCloud)上,使用Plesk。我也在使用Cloudflare。 基本上,我确实为我的网站为世界不同地区创建了多个目录(en/fr/de/etc…) 我在index.php中有这样一个脚本,可以根据国家自动重定向人员 <?php require 'IP2Location.php'; $loc = new IP2Location('databases/IP-COUNTRY.BIN', IP2Location::FILE_IO); $record

因此,我有一个网站托管在我自己的服务器(UpCloud)上,使用Plesk。我也在使用Cloudflare。 基本上,我确实为我的网站为世界不同地区创建了多个目录(en/fr/de/etc…) 我在index.php中有这样一个脚本,可以根据国家自动重定向人员

<?php
require 'IP2Location.php';

$loc = new IP2Location('databases/IP-COUNTRY.BIN', IP2Location::FILE_IO);
$record = $loc->lookup($_SERVER['REMOTE_ADDR'], IP2Location::ALL);

if($record == 'US') {
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: https://mywebsite.com/en');
    exit;
}
?>

在调用
header()
之前,确保没有生成任何输出。 检查
在调用
header()
之前,确保没有生成任何输出。 检查
HTTP 301重定向应设置为
header()函数的第三个参数


HTTP 301重定向应设置为
头()函数的第三个参数


终于找到了使用

$country_code = $_SERVER["HTTP_CF_IPCOUNTRY"];
$country_code = $_SERVER["HTTP_CF_IPCOUNTRY"];

最后使用

$country_code = $_SERVER["HTTP_CF_IPCOUNTRY"];
$country_code = $_SERVER["HTTP_CF_IPCOUNTRY"];

测试:在web服务器配置文件中设置设置,而不是在.htaccess中设置。然后重新启动web服务器并重试。测试方法:在web服务器配置文件中设置设置,而不是在.htaccess中设置。然后重新启动web服务器并重试。我已经这样做了,没有“头('HTTP/1.1 301永久移动”);“但它也不起作用。我已经这样做了,没有“头('HTTP/1.1 301永久移动”);”但它也不起作用。仍然得到500…我更新了我的答案并添加了错误报告。运行脚本以查看错误原因仍为500…我已更新我的答案并添加了错误报告。运行脚本查看可能解决识别国家问题的错误原因,但它不能解决您问题中的问题。它也只适用于CloudFlare用户。我不会奇迹般地得到500个错误。所以这对我来说很好。这可能解决了识别一个国家的问题,但它不能解决你问题中的问题。它也只对CloudFlare用户有好处。好吧,我不会奇迹般地得到500个错误。所以这对我来说很好。