Machen Sie XAMPP / Apache dienen Datei außerhalb von htdocs

stimmen
263

Ist es möglich , zu konfigurieren xampp eine Datei außerhalb des aufzutischen htdocsVerzeichnis?

Zum Beispiel, sagen, dass ich eine Datei, die sich haben, wie folgt:

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

und meine xampp - Dateien werden in der Regel serviert aus:

C:\xampp\htdocs\

(denn das ist die Standardkonfiguration) Gibt es eine Möglichkeit Apache zu machen erkennen und meine dient up - TransitCalculator.phpDatei , ohne es unter strömendem htdocs? Vorzugsweise würde ich Apache gerne servieren / haben Zugriff auf den gesamten Inhalt des Projektverzeichnis, und ich möchte nicht unter den Projekten Verzeichnis verschieben htdocs.

edit: bearbeitet Apache auf die Frage Titel hinzufügen Q / A mehr durchsuchbar zu machen

Veröffentlicht am 04/08/2008 um 17:54
quelle vom benutzer
In anderen Sprachen...                            


6 antworten

stimmen
324

Ok, pro pix0r ‚s, Sparks ‘ und Dave ‚s Antworten sieht es aus wie es drei Möglichkeiten, dies zu tun:


virtuelle Hosts

  1. Öffnen Sie C: \ xampp \ apache \ conf \ Extra \ httpd-vhosts.conf.
  2. Un-Kommentarzeile 19 ( NameVirtualHost *:80).
  3. Fügen Sie Ihre virtuelle Host (~ Linie 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. Öffnen Sie Ihre Hosts-Datei (C: \ Windows \ System32 \ drivers \ etc \ hosts).

  5. Hinzufügen

    127.0.0.1 transitcalculator.localhost #transitCalculator
    

    bis zum Ende der Datei (vor der Spybot - Search & Sachen zerstören, wenn Sie die installiert haben).

  6. Speichern (Möglicherweise müssen Sie es auf dem Desktop speichern, ändern Sie die Berechtigungen für den alten Host-Datei (Rechtsklick> Eigenschaften), und kopieren Sie die neue in das Verzeichnis über die alte (oder das alte umbenennen), wenn Sie mit Vista und haben Probleme).
  7. Starten Sie Apache.

Jetzt können Sie das Verzeichnis zugreifen , indem Sie zu http: //transitcalculator.localhost/ .


Vereinbaren Sie einen Alias

  1. Ab ~ Linie 200 Ihrer http.confDatei, kopiert alles zwischen <Directory "C:/xampp/htdocs">und </Directory>(~ Linie 232) und fügen Sie ihn sofort unten mit C:/xampp/htdocsersetzt mit Ihrem gewünschten Verzeichnis (in diesem Fall C:/Projects) den Server die richtigen Berechtigungen für das neue Verzeichnis zu geben.

  2. Finden Sie den <IfModule alias_module></IfModule>Abschnitt (~ Linie 300) und füge

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

    (oder was auch immer Ihre Wünsche relevant ist) unter dem AliasKommentarblock, in den Modul - Tags.


Ändern Sie Ihr Dokument root

  1. Bearbeiten ~ Linie 176 in C: \ xampp \ apache \ conf \ httpd.conf; ändern DocumentRoot "C:/xampp/htdocs"zu #DocumentRoot "C:/Projects"(oder was auch immer Sie möchten).

  2. Bearbeiten ~ Linie 203 Ihren neuen Standort entsprechen (in diesem Fall C:/Projects).


Anmerkungen:

  • Sie müssen verwenden Schrägstriche „/“ statt zurück „\“ zerschneidet.
  • Schließen Sie nicht die abschließende „/“ am Ende.
  • Starten Sie Ihren Server .
Beantwortet am 04/08/2008 um 18:05
quelle vom benutzer

stimmen
90

Sie können es durch die Bearbeitung der verlagern DocumentRoot Einstellung in XAMPP \ Apache \ conf \ httpd.conf.

Es sollte zur Zeit sein:

C: / xampp / htdocs

Ändern Sie es an:

C: / projects / transitCalculator / trunk

Beantwortet am 04/08/2008 um 18:00
quelle vom benutzer

stimmen
49

Ein Virtual wäre auch für diese Arbeit und kann für Sie besser arbeiten, wie Sie ohne die Notwendigkeit für Verzeichnisse mehrere Projekte hosten kann. Hier ist, wie Sie es tun:

httpd.conf (. oder zusätzliche \ httpd-vhosts.conf relativ zu httpd.conf folgenden Schrägstrichen „\“ könnte dazu führen, dass nicht funktionieren):

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-Datei (c: \ windows \ system32 \ drivers \ etc \ hosts in der Regel):

# localhost entries
127.0.0.1 localhost transitcalculator.localhost

Jetzt neu starten , XAMPP und Sie sollten zugreifen können http: //transitcalculator.localhost/ und es wird Karte gerade in dieses Verzeichnis.

Dies kann hilfreich sein, wenn Sie versuchen, eine Produktionsumgebung zu replizieren, wo Sie eine Website sind zu entwickeln, die auf der Wurzel eines Domain-Namen sitzen. Sie können zum Beispiel, zeigen Sie auf Dateien mit absoluten Pfaden, die auf dem Server führen über wird:

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

während in einer Umgebung, Aliase oder Unterverzeichnisse verwenden, würden Sie verfolgen, wo genau die „Bilder“ Verzeichnis relativ war auf die aktuelle Datei behalten müssen.

Beantwortet am 05/08/2008 um 16:30
quelle vom benutzer

stimmen
14

Sie können Apache eingestellt Seiten mit irgendwelchen Einschränkungen von überall zu dienen, aber es ist normalerweise in einer sichereren Form verteilt.

Bearbeiten der Apache-Dateien (http.conf ist einer der häufigsten Namen) können Sie einen beliebigen Ordner setzen, damit es in Ihrem Webroot erscheint.

BEARBEITEN:

alias MeineAnw c: \ MeineAnw \

Ich habe meine Antwort bearbeitet, um das Format enthalten für eine Alias ​​in der http.conf-Datei zu erstellen, die wie eine Verknüpfung in Windows Art ist oder ein Symlink unter un * x, wobei Apache ‚gibt vor‘ einen Ordner im Webroot ist. Das wird wahrscheinlich mehr nützlich für Sie auf lange Sicht sein.

Beantwortet am 04/08/2008 um 18:00
quelle vom benutzer

stimmen
8

Als Seite beachten, wenn Sie versuchen, XAMPP zu bekommen ein Netzlaufwerk als Document-Root zu verwenden, müssen Sie UNC-Pfade in httpd.conf verwenden. XAMPP wird Ihr Netzlaufwerk nicht erkennen.

Zum Beispiel wird die folgende nicht funktionieren, DocumentRoot „X: / Webroot“

Aber dieser Wille, DocumentRoot „//192.168.10.100/webroot“ (man beachte die Schrägstriche, nicht zurück Schrägstriche)

Beantwortet am 28/01/2011 um 04:04
quelle vom benutzer

stimmen
4

Keine dieser Lösungen gearbeitet leicht. Hier ist die einfachste Lösung Apache 2 zu ermöglichen, Websites zu hosten außerhalb von htdocs:

Unter dem „DocumentRoot“ Direktive in httpd.conf, sollten Sie einen Verzeichnisblock sehen. Ersetzen Sie diesen Verzeichnisblock mit:

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

REMEMBER diese Konfiguration nicht in einer realen Umgebung zu verwenden

Beantwortet am 26/01/2009 um 16:11
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more