1

設定に苦労しているので、このような設定が可能かどうか知りたいです。私はこのようなファイル構造でウェブサイトをセットアップしようとしています:

  • project1(フォルダ)
    • index.php
    • style.css
    • include.php
      • 管理者(フォルダ)
        • index.php

親の「project1」フォルダは、D:\ Projects\project1の「server1」にあります。

Webサイトには、仮想ディレクトリ「 http:// server1/project1 」からアクセスします。

インクルード、画像src、スタイルシートなどのすべてのパスを「/style.css」の形式で記述できるようにしたいと思います。これにより、必要な場所に関係なくファイルを見つけることができます。たとえば、次のリンクは、「project1」フォルダまたは「admin」フォルダのどちらに配置されていても機能するはずです。

<link rel="stylesheet" type="text/css" href="/style.css">

編集:mellamokbが示唆したように、href = "/ project1 / style.css"の使用は、両方の'index.php'ファイルから機能するようです。ただし、PHPINCLUDEの同様のソリューションを見つけることができないようです。

これを使えば…

<?php include_once '/include.php'; ?>

...両方のindex.phpファイルで、adminディレクトリにあるファイルが見つかりません。

$ _SERVER['DOCUMENT_ROOT']が"D:\ Projects \ project1"を返すことを期待していましたが、D:\ stagingを返すため、理由がわかりません。プロジェクトの「ルート」を設定するいくつかの異なる方法を試しましたが、さらに混乱してしまいました。プロジェクトの仮想ルートは「http:// server1 / project1」であり、物理ルートはD:\ Projects \ project1である必要がありますが、これを強制する方法がわかりません。

4

1 に答える 1

1

定数を含むファイルを作成し、そのようなものを作成できますdefine('BASE_URL', "http://server1/project1/")。次に、定数変数BASE_URLを使用して相対的に作業できます。

<link rel="stylesheet" type="text/css" href="<?php echo BASE_URL; ?>style.css">

「相対」アドレスを付けることで、他のファイルを扱うこともできます。

include (BASE_URL . '<file you want to add>');
于 2013-01-08T17:42:46.637 に答える