Php 标题(“位置:url”)不重定向

Php 标题(“位置:url”)不重定向,php,location,amp-html,Php,Location,Amp Html,我已经浪费了很多时间试图从我的AMP页面重定向到其他页面。提交表单时,xhr操作通过POST发送数据来调用php文件此php文件设置一个新位置,将页面重定向到另一个位置。我在php文件中要重定向的代码如下: <?php header("Content-type: application/json"); header("Access-Control-Allow-Credentials: true"); header("Access-Control-Allow-Origin: https:/

我已经浪费了很多时间试图从我的AMP页面重定向到其他页面。提交表单时,xhr操作通过POST发送数据来调用php文件此php文件设置一个新位置,将页面重定向到另一个位置。我在php文件中要重定向的代码如下:

<?php 
header("Content-type: application/json");
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: https://www.dominio.com/amp/*");
header("AMP-Access-Control-Allow-Source-Origin: https://www.dominio.com");
header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin");
$especi=$_POST["especialidad"];
$paises=$_POST["ES"];
$paismx=$_POST["MX"];
$paispr=$_POST["PR"];
$paiscl=$_POST["CL"];
$paisco=$_POST["CO"];
$paisar=$_POST["AR"];
if(isset($paises)){
    $urlbase="https://www.dominio.es/p/";
    $pais="ES";
    $provin=$paises;
    $pobla=0; //$_POST["zn2"];
}
/*
else if(isset($paismx)){
    $urlbase="https://www.dominio.mx/p/";
    $pais="MX";
    $provin=$paismx;
    $pobla=$_POST["zn2"];
}
else if(isset($paispr)){
    $urlbase="https://www.dominio.com/p/";
    $pais="PR";
    $provin=$paispr;
    $pobla=$_POST["zn2"];
}
else if(isset($paiscl)){
    $urlbase="https://www.dominio.cl/p/";
    $pais="CL";
    $provin=$paiscl;
    $pobla=$_POST["zn2"];
}
else if(isset($paisco)){
    $urlbase="https://www.dominio.co/p/";
    $pais="CO";
    $provin=$paisco;
    $pobla=$_POST["zn2"];
}
else if(isset($paisar)){
    $urlbase="https://www.dominio.com.ar/p/";
    $pais="AR";
    $provin=$paisar;
    $pobla=$_POST["zn2"];
}*/


$queryespe="SELECT * FROM tx WHERE Id='$especi'";
$resultespe = mysqli_query($link,$queryespe);
$fila = mysqli_fetch_array($resultespe);
$especialidad=$fila['Keyword'];
$especialidad=reemplazargui($especialidad);
$especialidad=reemplazarac($especialidad);
if($pobla!=0){
    $querypo="SELECT * FROM ts WHERE Id='$pobla'";
    $resultpo = mysqli_query($link,$querypo);
    $filapo = mysqli_fetch_array($resultpo);
    $poblacion=reemplazargui($filapo['Keyword']);
    $ulr=$urlbase.$especialidad."/".reemplazarac($poblacion)."/";
    mysqli_close($link);
    header ("Location: $ulr");
    die();
}else{
    $querypo="SELECT * FROM tx_2 WHERE Id='$provin'";
    $resultpo = mysqli_query($link,$querypo);
    $filapo = mysqli_fetch_array($resultpo);
    $poblacion=reemplazargui($filapo['Keyword']);
    $ulr=$urlbase.$especialidad."/".reemplazarac($poblacion)."/";
    mysqli_close($link);
    $ulr = html_entity_decode($ulr);
    header ("Location: $ulr");
    die();
    }

?>
错误:

获取API无法加载 . 重定向自 '' 到“”已被删除 被CORS策略阻止:“访问控制允许来源”标头具有 值“*”不等于 提供原产地。因此,源“”不是 允许访问。让服务器发送带有有效值的标头, 或者,如果不透明响应满足您的需求,则将请求的模式设置为 “无cors”以获取禁用cors的资源

编辑3:已解决

允许COR的收割台平齐解决了这个问题。它们必须添加到所有受影响的域中

header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: https://www.dominio.com/amp/*");
header("AMP-Access-Control-Allow-Source-Origin: https://www.dominio.com/amp/*");
header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin");
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: https://www.dominio.com/amp/*");
header("AMP-Access-Control-Allow-Source-Origin: https://www.dominio.com/amp/*");
header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin");
替换,
标题(“位置:$ulr”);
模具();
具有
标题(“位置:$ulr”);
?>
location.href='';

解决方案将添加到帖子中,编辑3

允许COR的收割台平齐解决了这个问题。它们必须添加到所有受影响的域中

header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: https://www.dominio.com/amp/*");
header("AMP-Access-Control-Allow-Source-Origin: https://www.dominio.com/amp/*");
header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin");
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: https://www.dominio.com/amp/*");
header("AMP-Access-Control-Allow-Source-Origin: https://www.dominio.com/amp/*");
header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin");

请比“它不起作用”更具体一些。您期望的是什么,实际发生的是什么,在输出/日志中是否出现任何警告或错误,等等?您是否已打开错误报告/登录?另外,如果你可以把输出的文字描述,而不是粘贴屏幕截图,这将是非常有帮助的确定,谢谢。我会编辑。请检查我的答案。谢谢。好的,我能看出问题所在。其中一个URL是HTTPS,但另一个不是。我认为从HTTP重定向到HTTPS是可以的,但根据CORS的规则,情况并非如此。但是我认为所有的重定向都来自HTTPS,HTTP重定向在哪里?我想我不能使用脚本,因为这个文件被AMP页面调用。AMP页面是什么意思?AMP是一种“新”的html格式,由谷歌缓存并更快地提供服务。此技术不允许执行脚本。put ob_start();在PHP引号下的文件开头。谢谢。如果可能的话,你能分享这个文件吗?可能存在导致问题的空白。谢谢。代码应该已经添加,而不是对你不理解的问题的引用;你在“答案”区域写的是“评论”,而不是答案。请编辑此内容以包含解决方案;这就是这个区域的用途。未捕获引用错误:未定义标头我遇到这种错误
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: https://www.dominio.com/amp/*");
header("AMP-Access-Control-Allow-Source-Origin: https://www.dominio.com/amp/*");
header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin");