ホームページ >バックエンド開発 >PHPチュートリアル >PHP でベース URL を効率的に取得するにはどうすればよいですか?

PHP でベース URL を効率的に取得するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-01 17:09:11223ブラウズ

How Can I Efficiently Obtain the Base URL in PHP?

PHP を使用したベース URL の取得

PHP のような Web 開発環境では、さまざまな目的でベース URL の取得が不可欠となる場合があります。この記事では、このタスクを効果的に実行する方法について説明します。

ベース URL を取得するには、$_SERVER 事前定義変数を利用することをお勧めします。 SERVER_NAME キーと REQUEST_URI キーを組み合わせることで、このメソッドはベース URL を構築する信頼性が高く正確な方法を提供します。実装例を次に示します。

<?php echo "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; ?>

この単純なコードは、プロトコル (http://)、サーバー名 (127.0.0.1)、およびリクエスト URI (/test_website/) を連結して、ベース URL を生成します: http ://127.0.0.1/test_website/.

HTTPS が関係する状況では、変更された関数が呼び出されます。 url() を使用できます:

function url(){
  return sprintf(
    "%s://%s%s",
    isset($_SERVER['HTTPS']) &amp;&amp; $_SERVER['HTTPS'] != 'off' ? 'https' : 'http',
    $_SERVER['SERVER_NAME'],
    $_SERVER['REQUEST_URI']
  );
}
echo url();
#=> http://127.0.0.1/foo

SERVER_NAME キーを確実に使用するには、Apache を適切に設定することが重要です。次の構成スニペットは、このセットアップの例を示しています。

<VirtualHost *>
    ServerName example.com
    UseCanonicalName on
</VirtualHost>

さらに、HTTP_HOST キーに依存する場合は、使用前にユーザー入力をサニタイズするように注意する必要があります。 PHP の parse_url 関数は、そのようなデータを処理する包括的な例を提供します。

以上がPHP でベース URL を効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。