echo (empty($_SERVER["HTTPS"]) ? "http://" : "https://") . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
上記の意味ですが、
($_SERVER["HTTPS"]) httpsでアクセスされたら http:// を頭につけて 違う場合は、 https://を頭につける。
という意味でしょうか?
echo (empty($_SERVER["HTTPS"]) ? "https://" : "http://") . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
上記のように逆にした場合、 httpsでアクセスされたら https:// を頭につけて 違う場合は、 http://を頭につける。
という意味でしょうか??
下のコードの場合、httpsのURL(リダイレクトされて、ブラウザの上部アドレスバーに出る)にもかかわらず、http://で出力(ソース)されてしまいますので、意味を間違えてるか、書き方が違うのか・・・
やりたいことは、https でアクセスされるという前提で(リダイレクトかけてます)、canonicalタグにURL(フルパス)を出力させたいのですが、上記のやり方は違うのでしょうか?なぜ違うか教えていただけますとありがたいです。。
または、下記のようにしたら同じ意味でしょうか?
<link rel="canonical" href="<?php echo (("https://") . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); ?>" />

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/24 10:23
2017/01/24 11:32
2017/01/24 13:44 編集