PHP でのベース URL の取得
開発環境では、http://127.0 などのローカル URL を使用します。 0.1/test_website/ では、さまざまな関数のベース URL をプログラムで取得すると便利です。ただし、dirname(__FILE__) や basename(__FILE__) などの一般的に使用されるメソッドでは、目的の出力が生成されません。
解決策 1:
ベース URL を正確に取得するには、次を利用できます。コード:
<?php echo "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; ?>
このアプローチでは、$_SERVER 事前定義変数を使用してサーバー名とリクエスト URI にアクセスし、ベース URL を効果的に構築します。
ソリューション2 (HTTPS をサポートする場合):
HTTPS をサポートする必要がある場合同様に、次の関数の使用を検討してください:
function url(){ return sprintf( "%s://%s%s", isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https' : 'http', $_SERVER['SERVER_NAME'], $_SERVER['REQUEST_URI'] ); }
注意:
SERVER_NAME キーに依存する場合は、Apache の設定が適切であることを確認してください。正しく設定されています。そうでない場合は、仮想ホスト構成でサーバー名を明示的に指定する必要があります:
<VirtualHost *> ServerName example.com UseCanonicalName on </VirtualHost>
追加メモ:
HTTP_HOST キーの使用ドメインの有効な文字を確認するには、追加のクリーンアップが必要です。この目的には、PHP 組み込みの parse_url 関数の使用を検討してください。
以上がPHP でベース URL をプログラムで取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。