[解決済み] $_SERVER['DOCUMENT_ROOT'] と $_SERVER['HTTP_HOST'] の違いについて
質問
素朴な疑問(または関連する疑問)を持って帰ってきました。
質問は簡単なのですが、まだ回答がありません。私はPHPの異なる経験を持つ多くの人々に尋ねました。しかし、私が得た回答は次のようなものでした: "私は何も考えていません。Googleで調べても、この件に関する記事は見つかりませんでした。ここで納得のいく回答が得られることを期待しています。
ということで、質問です。
とはどのような違いがあるのでしょうか?
$_SERVER['DOCUMENT_ROOT']
と
$_SERVER['HTTP_HOST']
?
どちらか一方が優れている点はありますか?
HTTP_HOST & DOCUMENT_ROOT はどこで使うべきですか?
どのように解決するのですか?
<ブロッククオートDOCUMENT_ROOT
Generalセクションの'DocumentRoot'ディレクティブで定義された、このサイトのルートディレクトリ、あるいは、例えば、セクション。
DOCUMENT_ROOT=/var/www/example
HTTP_HOST
ホストのベースURL。
HTTP_HOST=www.example.com
ドキュメントルートは、サーバー上のあなたのウェブサイトへのローカルパス、httpホストは、サーバーのホスト名です。 この2つはかなり違いますので、質問を明確にしていただけますか?
編集 : とおっしゃいましたね。
ケース1 : header('Location: '. $_SERVER['DOCUMENT_ROOT'] . '/abc.php')
ケース2:header('Location: '. $_SERVER['HTTP_HOST'] . '/abc.php')
最初の方法は、ページを提供しているのと同じマシンでブラウザを起動した場合にのみ機能するのではないでしょうか。
もし、他の人がWindowsマシンを使って、あなたのウェブサイトを訪問したとします。 そして、あなたのウェブサーバーがHTTPヘッダで彼らに、「おい、実は、この場所をリダイレクトしてくれ。/var/www/example/abc.php." ユーザーのマシンが何をすることを期待しているのでしょうか?
さて、次のような話であれば
<?php include($_SERVER['DOCUMENT_ROOT'] . '/include/abc.php') ?>
対
<?php include($_SERVER['HTTP_HOST'] . '/include/abc.php') ?>
それはそれで意味があるかもしれませんね。 私はPHPのグルではありませんが、この場合はおそらく前者が好ましいと思います。
関連
-
[解決済み] PHP $_SERVER['HTTP_HOST'] vs. $_SERVER['SERVER_NAME'], 私はマニュアルページを正しく理解しているのでしょうか?
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] PHPのstartWith()関数とendsWith()関数
-
[解決済み] require, include, require_once, include_onceの違い?
-
[解決済み] パブリック、プライベート、プロテクトの違いは何ですか?
-
[解決済み] PHPの文字列で、シングルクオートとダブルクオートの違いは何ですか?
-
[解決済み] PHPのHTTP_HOSTとSERVER_NAMEの違いは何ですか?
-
[解決済み】PHPパスワードのハッシュとソルトの安全性について
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
-
[解決済み] PHPを使用して2つの日付の差を計算する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】空の配列要素を削除する
-
[解決済み】php, mysql - データベースへの接続数が多すぎるエラー
-
[解決済み】Apache + PHPで「ヘッダの前にスクリプトの出力が終了する」件
-
[解決済み】ディレクトリ内のファイル数を数える PHP
-
[解決済み】Laravel 5.2 Storage::makeDirectory($dir) でディレクトリが作成されない。
-
[解決済み] [Solved] Fatal error: メンバ関数 query() の null への呼び出し。
-
[解決済み】SSLピア証明書またはSSHリモートキーがOKでなかった
-
MacでPHPを実行した際に、メモリサイズが134217728バイトも消費される問題の解決方法について
-
[解決済み】書き込みコンテキストでメソッドの戻り値を使用することができない
-
[解決済み] mysqli_fetch_assoc() は、パラメータ 1 が mysqli_result であることを期待し、boolean が与えられる [重複] 。