0

Web サイトの事実上すべてのページに含める共通の header.php があります。header.php ファイルにさまざまなリソースへの相対リンクがあります。ルートフォルダーの下の別のサブフォルダーにある他のページに含めるとすぐに、一部のリンクが壊れます。header.php 内のすべてのリンクを絶対にすることができます。ここで、別の問題が発生します。アプリケーションを別のドメインに移動して wwwroot の下に配置すると、絶対リンクが機能しなくなります。このアプリケーションのルートである URL の一部を抽出する方法が PHP で見つかりませんでした。最終的に、アプリケーション ルートの変数を定義し、header.php 内のすべてのリンクにこの変数のプレフィックスを付けました。この方法では、このアプリケーションがある場所から別の場所に移動するときに、変数を 1 つ変更するだけで済みます。

この種の状況を処理するための他のより良い方法があるかどうか疑問に思っています。

フィードバックをお待ちしております。

編集:より多くのフィードバックを受け取ることを望んでいます。

4

1 に答える 1

0

中央の変数と同様に、一般的な header.php ファイルを記述します。HTML 要素を利用できます<base>が、これは HTML に限定されます。

絶対 URL をリクエスト URI に解決できるマッピング関数、または相対 URL をそれらが出てくるコンテキストに解決できるマッピング関数を自分で作成して、リクエスト URI に絶対的に相対的に再度マッピングできるようにすることができます。

次に、独自に URI を処理する出力フィルターを実装し、特別な処理のためにいくつかの特別なプレフィックスを実行できます。

于 2012-04-17T19:45:52.947 に答える