$_SERVER["SERVER_NAME"];
と$_SERVER["DOCUMENT_ROOT"];
は常に同じディレクトリに解決されますか?彼らはいないシナリオはありますか?
EDIT:
明確にするために、私はこれらは私がSERVER_NAMEはいつもDOCUMENT_ROOTにマップされますのみかどうかを立証しようとしている同じthing-ではありません知っています。すなわち、それらの各々に従うことによって、サーバファイルシステム上の同じ物理的位置に常に到着する。
$_SERVER["SERVER_NAME"];
と$_SERVER["DOCUMENT_ROOT"];
は常に同じディレクトリに解決されますか?彼らはいないシナリオはありますか?
EDIT:
明確にするために、私はこれらは私がSERVER_NAMEはいつもDOCUMENT_ROOTにマップされますのみかどうかを立証しようとしている同じthing-ではありません知っています。すなわち、それらの各々に従うことによって、サーバファイルシステム上の同じ物理的位置に常に到着する。
しかし、はい、それはすることを目指してDOES同じディレクトリ(毎回)
SERVER_NAME
は実際のドメイン名でなければなりません。 REQUEST_URIはユーザーが入力したパスを提供します。ウェブサーバーまたはPHP自身が提供するコンテンツではないため、でもそれは本当に$some_relative_path
DOCUMENT_ROOTに何があるかに依存していることについては
)ファイル内のtはあなたのウェブサイトは、実際にサーバに住んファイル場所への絶対サーバパスです。 DOCUMENT_ROOTは他のPHPファイルをインクルードするのに便利ですが、接続するクライアントに公開されることは決してありません。セキュリティ上のリスクです。
何らかの理由で誰かがサーバ上で/
をドキュメントルートとして設定しない限り、どのシナリオでも同じであってはいけません。それはおそらく非常に悪い考えです。なぜなら、システムファイルさえもWebに公開されるからです。
@ Cfreak-私が確立しようとしているのは、彼らがいつも同じ場所を指しているかどうかであり、同じものかどうかではありません。通常、SERVER_NAMEへのナビゲート時に提供される索引ファイルはDOCUMENT_ROOTにあります。それがそうでない場合にインスタンスを見つけることを試みるだけです。 – Yarin
SERVER_NAMEは、スクリプトが実行されたサーバーの名前です。また、仮想ホスト名にすることもできます。
DOCUMENT_ROOTは、実行しているスクリプトへのパスです。何らかの種類のURL書き換えを実行している場合は、SERVER_NAMEと同じ値になる可能性があります。
したがって、基本的に「SERVER_NAMEとDOCUMENT_ROOTは異なるのですか? –
@ Jonathan-編集内容 – Yarin
@ヤリン。ちょうどそれが他の人にどのように見えるかをあなたに気づかせたいと思ったありがとう。 –