323

ディレクトリ外のファイルを提供するようにxamppを構成することは可能htdocsですか?

たとえば、次の場所にファイルがあるとします。

C:\projects\transitCalculator\trunk\TransitCalculator.php

私のxamppファイルは通常、次の場所から提供されます。

C:\xampp\htdocs\

(これがデフォルトの構成であるため) Apache にTransitCalculator.phpファイルを移動させずにファイルを認識させて提供させる方法はありますhtdocsか? できれば、Apache にプロジェクト ディレクトリの内容全体を提供/アクセスしてもらいたいのですが、プロジェクト ディレクトリを下に移動したくありませんhtdocs

編集:Q / Aをより「検索可能」にするために、質問のタイトルにApacheを追加するように編集

4

6 に答える 6

374

わかりました、pix0rSparks、およびDaveの回答によると、これを行うには 3 つの方法があるようです。


仮想ホスト

  1. C:\xampp\apache\conf\extra\httpd-vhosts.conf を開きます。
  2. ~19 行目 ( ) のコメントを外しNameVirtualHost *:80ます。
  3. 仮想ホストを追加します (~ 36 行目):

    <VirtualHost *:80>
        DocumentRoot C:\Projects\transitCalculator\trunk
        ServerName transitcalculator.localhost
        <Directory C:\Projects\transitCalculator\trunk>
            Order allow,deny
            Allow from all
        </Directory>
    </VirtualHost>
    
  4. ホスト ファイル (C:\Windows\System32\drivers\etc\hosts) を開きます。

  5. 追加

    127.0.0.1 transitcalculator.localhost #transitCalculator
    

    ファイルの最後まで (Spybot - Search & Destroy がインストールされている場合はその前)。

  6. 保存します (デスクトップに保存し、古いホスト ファイルのアクセス許可を変更し (右クリック > プロパティ)、新しいものを古いものの上にあるディレクトリにコピーする (または古いものの名前を変更する) 必要がある場合があります)。 Vista で問題があります)。
  7. アパッチを再起動します。

これで、 http://transitcalculator.localhost/を参照して、そのディレクトリにアクセスできます。


エイリアスを作成する

  1. http.confファイルの 200 行目から<Directory "C:/xampp/htdocs"></Directory>(232 行目まで) の間のすべてをコピーC:/xampp/htdocsし、目的のディレクトリ (この場合はC:/Projects) に置き換えてすぐ下に貼り付け、新しいディレクトリに対する正しいアクセス許可をサーバーに付与します。

  2. <IfModule alias_module></IfModule>セクション(〜300行目)を見つけて追加します

    Alias /transitCalculator "C:/Projects/transitCalculator/trunk"
    

    Aliasモジュールタグ内のコメントブロックの下(またはあなたの欲求に関連するもの) 。


ドキュメント ルートを変更する

  1. C:\xampp\apache\conf\httpd.conf の ~176 行目を編集します。(またはあなたが望むもの)に変更DocumentRoot "C:/xampp/htdocs"します。#DocumentRoot "C:/Projects"

  2. ~203 行目を新しい場所 (この場合はC:/Projects) に合わせて編集します。


ノート:

  • バックスラッシュ「\」の代わりにスラッシュ「/」を使用する必要があります。
  • 末尾の「/」は含めないでください。
  • サーバーを再起動します
于 2008-08-04T17:05:48.680 に答える
99

XAMPP\apache\conf\httpd.confのDocumentRoot設定を編集することで再配置できます。

現在、次のようになっている必要があります。

C:/xampp/htdocs

次のように変更します。

C:/projects/transitCalculator/トランク

于 2008-08-04T17:00:27.693 に答える
50

これには VirtualHost も機能し、サブディレクトリを必要とせずに複数のプロジェクトをホストできるため、より適切に機能する可能性があります。方法は次のとおりです。

httpd.conf (または httpd.conf に相対的な extra\httpd-vhosts.conf。末尾のスラッシュ「\」により、機能しない可能性があります):

NameVirtualHost *:80
# ...
<VirtualHost *:80>  
    DocumentRoot C:\projects\transitCalculator\trunk\
    ServerName transitcalculator.localhost
    <Directory C:\projects\transitCalculator\trunk\>  
        Order allow,deny  
        Allow from all  
    </Directory>
</VirtualHost> 

HOSTS ファイル (通常は c:\windows\system32\drivers\etc\hosts):

# localhost entries
127.0.0.1 localhost transitcalculator.localhost

XAMPP を再起動すると、 http://transitcalculator.localhost/にアクセスできるようになり、そのディレクトリに直接マップされます。

これは、ドメイン名のルートにあるサイトを開発している実稼働環境を複製しようとしている場合に役立ちます。たとえば、サーバーに引き継がれる絶対パスを持つファイルを指すことができます。

<img src="/images/logo.png" alt="My Logo" />

一方、エイリアスまたはサブディレクトリを使用する環境では、現在のファイルに対して「images」ディレクトリがどこにあったかを正確に追跡する必要があります。

于 2008-08-05T15:30:30.353 に答える
17

制限を設けてどこからでもページを提供するように Apache を設定できますが、通常はより安全な形式で配布されます。

Apache ファイル (http.conf はより一般的な名前の 1 つです) を編集すると、任意のフォルダーを設定して webroot に表示されるようになります。

編集:

エイリアス myapp c:\myapp\

答えを編集して、http.conf ファイルにエイリアスを作成するための形式を含めました。これは、Windows のショートカットのようなもの、または Apache がフォルダーを webroot に「装う」 un*x の下のシンボリックリンクのようなものです。これはおそらく、長期的にはより役立つでしょう。

于 2008-08-04T17:00:08.067 に答える
11

XAMPP でネットワーク ドライブをドキュメント ルートとして使用する場合は、httpd.conf で UNC パスを使用する必要があります。XAMPP は、マップされたネットワーク ドライブを認識しません。

たとえば、DocumentRoot "X:/webroot" は機能しません。

ただし、これは DocumentRoot "//192.168.10.100/webroot" になります (バック スラッシュではなくスラッシュに注意してください)。

于 2011-01-28T03:04:36.573 に答える
9

Apache 2 が htdocs 以外の Web サイトをホストできるようにするソリューション:

httpd.conf の "DocumentRoot" ディレクティブの下に、ディレクトリ ブロックが表示されます。このディレクトリ ブロックを次のように置き換えます。

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Allow from all
</Directory> 

この構成を実際の環境で使用しないでください。

于 2009-01-26T15:11:06.647 に答える