<?php
if(!isset($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] != "on")
{
error_reporting(E_ALL | E_WARNING | E_NOTICE);
ini_set('display_errors', TRUE);
header("Location: https://somesite.com/it");
die('should have redirected by now');
}
?>
これは私が使用している実際のコードです。最初のコード行の前にスペースや何もありません。phpヘッダーはすでに最初の行に送信されています
戻り値: 警告:ヘッダー情報を変更することはできません - すでにによって送られたヘッダ/ホーム/ somesite/public_htmlの/ IQ /テストでは(出力が/home/somesite/public_html/it/test.php:1で開始しました)。 php on line 8 は今のところリダイレクトされているはずです
なぜ私は最初の行にヘッダを送ったと言いますか?これをどうやって解決するのですか?
'flush()'の後にヘッダーを送ることはできません。 – GrumpyCrouton
これは私が与えたより良い答えのようです。https://stackoverflow.com/questions/4398951/force-ssl-https-using-htaccess-and-mod-rewrite – RiggsFolly
その答えは、しかし、私はまだヘッダーを変更できる必要があります。私のコードに何も問題はないので、ヘッダーはそのままで動作しません。 –