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

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

DDD
リリース: 2024-12-01 17:09:11
オリジナル
215 人が閲覧しました

How Can I Efficiently Obtain the Base URL in PHP?

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

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

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

1

<?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() を使用できます:

1

2

3

4

5

6

7

8

9

10

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 を適切に設定することが重要です。次の構成スニペットは、このセットアップの例を示しています。

1

2

3

4

<VirtualHost *>

    ServerName example.com

    UseCanonicalName on

</VirtualHost>

ログイン後にコピー

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

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート