我有一个带有amp-form组件的AMP网站,由于某种原因,我无法获取该表单。控制台https://prnt.sc/shu7i0上的错误和网络错误https://prnt.sc/shu85g。您也可以在https://frontlinewebtech.com/traderharian/上查看实时站点。请帮助
这是我的html
<form class="subscribe-form flex flex-middle" method="POST" action-xhr="/mail.php" target="_top">
<div class="form-control">
<input type="email" required name="email" placeholder="Alamat email">
</div>
<button class="btn-subscribe" type="submit">Daftar</button>
</form>
这是我的PHP
<?php
if(!empty($_POST)){
$email = $_POST['email'];
$formcontent=" From: $email";
$recipient = "[email protected]";
$subject = "email from website";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
$domain_url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]";
header("Content-type: application/json");
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: ". str_replace('.', '-','https://frontlinewebtech.com/'));
header("AMP-Access-Control-Allow-Source-Origin: " . $domain_url);
header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin");
header("AMP-Redirect-To: https://example.com/index.html");
header("Access-Control-Expose-Headers: AMP-Redirect-To, AMP-Access-Control-Allow-Source-Origin");
echo json_encode(array('name' => $name));
exit;
}
?>
我检查了所有附件,发现此错误是由于406“不可接受”原因所致。
在此服务器上找不到所请求资源的适当表示形式。此错误是由Mod_Security生成的。
复制下面的文本,并将其粘贴到域根目录的.htaccess文件中。
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
或检查您的Apache mod_security配置。