Créer un fichier XAMPP / Apache servent à l'extérieur de htdocs

voix
263

Est - il possible de configurer XAMPP pour servir un fichier en dehors du htdocsrépertoire?

Par exemple, dire que j'ai un fichier situé comme suit:

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

et mes xampp fichiers sont normalement servis à partir de :

C:\xampp\htdocs\

(parce que c'est la configuration par défaut) Y at - il un moyen de faire reconnaître Apache et servir mon TransitCalculator.phpdossier sans le déplacer sous htdocs? De préférence , je voudrais Apache de servir / avoir accès à tout le contenu du répertoire des projets, et je ne veux pas déplacer le répertoire des projets en cours htdocs.

edit: sous la direction d'ajouter Apache au titre de la question pour faire Q / A plus « des recherches »

Créé 04/08/2008 à 17:54
source utilisateur
Dans d'autres langues...                            


6 réponses

voix
324

Ok, par pix0r « s, Sparks » et Dave répond l » on dirait qu'il ya trois façons de le faire:


Les hôtes virtuels

  1. Ouvrez C: \ xampp \ apache \ conf \ supplémentaire \ httpd-vhosts.conf.
  2. Un commentaire en ligne-19 ( NameVirtualHost *:80).
  3. Ajoutez votre hôte virtuel (~ ligne 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. Ouvrez votre fichier hosts (C: \ Windows \ System32 \ drivers \ etc \ hosts).

  5. Ajouter

    127.0.0.1 transitcalculator.localhost #transitCalculator
    

    à la fin du fichier (avant la Spybot - Search & Destroy choses si vous avez cette installé).

  6. Enregistrer (Vous pourriez avoir à enregistrer sur le bureau, changer les autorisations sur l'ancien fichier hosts (clic droit> propriétés) et copiez le nouveau dans le répertoire sur l'ancien (ou renommer l'ancien) si vous utilisez Vista et ont du mal).
  7. Redémarrez Apache.

Maintenant , vous pouvez accéder à ce répertoire en naviguant à http: //transitcalculator.localhost/ .


Faire un alias

  1. A partir ~ ligne 200 de votre http.conffichier, copiez tout entre <Directory "C:/xampp/htdocs">et </Directory>(~ ligne 232) et collez - le immédiatement ci - dessous avec C:/xampp/htdocsremplacé par votre répertoire désiré (dans ce cas C:/Projects) pour donner à votre serveur les autorisations nécessaires pour le nouveau répertoire.

  2. Trouvez la <IfModule alias_module></IfModule>section (~ ligne 300) et ajouter

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

    (ou tout ce qui est pertinent à vos désirs) en dessous du Aliasbloc de commentaires, à l' intérieur des balises du module.


Changer la racine des documents

  1. Modifier ~ ligne 176 dans C: \ xampp \ apache \ conf \ httpd.conf; changer DocumentRoot "C:/xampp/htdocs"à #DocumentRoot "C:/Projects"(ou tout ce que vous voulez).

  2. Modifier ~ ligne 203 pour correspondre à votre nouvel emplacement (dans ce cas C:/Projects).


Remarques:

  • Vous devez utiliser des barres obliques « / » au lieu de barres obliques arrière « \ ».
  • Ne pas inclure le « / » à la fin.
  • redémarrez votre serveur .
Créé 04/08/2008 à 18:05
source utilisateur

voix
90

Vous pouvez déplacer en éditant le DocumentRoot paramètre dans xampp \ apache \ conf \ httpd.conf.

Il devrait être actuellement:

C: / xampp / htdocs

Changer à:

C: / projets / transitCalculator / trunk

Créé 04/08/2008 à 18:00
source utilisateur

voix
49

Un VirtualHost travaillerait aussi pour cela et peut fonctionner mieux pour vous que vous pouvez héberger plusieurs projets sans avoir recours à des sous-répertoires. Voici comment faire:

httpd.conf (. ou extra \ httpd-vhosts.conf par rapport à httpd.conf Trailing barres obliques "\" pourrait provoquer un dysfonctionnement au travail):

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> 

fichier HOSTS (c: \ windows \ system32 \ drivers \ etc \ hosts généralement):

# localhost entries
127.0.0.1 localhost transitcalculator.localhost

Maintenant , redémarrez XAMPP et vous devriez être en mesure d'accéder à http: //transitcalculator.localhost/ et il carte directement à ce répertoire.

Cela peut être utile si vous essayez de reproduire un environnement de production où vous développez un site qui siégera à la racine d'un nom de domaine. Vous pouvez, par exemple, pointez sur des fichiers avec des chemins absolus qui transportera vers le serveur:

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

alors que dans un environnement en utilisant des alias ou des sous-répertoires, vous aurez besoin de garder une trace de exactement où le répertoire « images » était par rapport au fichier actuel.

Créé 05/08/2008 à 16:30
source utilisateur

voix
14

Vous pouvez configurer Apache pour servir des pages de partout avec des restrictions, mais il est normalement distribué sous une forme plus sécurisée.

Modification de vos fichiers apache (http.conf est l'un des noms les plus courants) vous permettra de définir un dossier de sorte qu'il apparaît dans votre Webroot.

MODIFIER:

alias monapp c: \ myapp \

Je l'ai modifié ma réponse à inclure le format pour créer un alias dans le fichier http.conf qui est un peu comme un raccourci dans les fenêtres ou un lien symbolique sous un * x où « » Apache feint un dossier est dans le Webroot. Ceci est probablement vous sera plus utile à long terme.

Créé 04/08/2008 à 18:00
source utilisateur

voix
8

Comme une note de côté, si vous essayez d'obtenir XAMPP d'utiliser un lecteur réseau que votre document racine, vous devez utiliser des chemins UNC dans httpd.conf. XAMPP ne reconnaîtra pas vos lecteurs réseau.

Par exemple, le suivant ne fonctionnera pas, DocumentRoot « X: / Webroot »

Mais cette volonté, DocumentRoot « //192.168.10.100/webroot » (notez les barres obliques avant, pas les barres obliques inversées)

Créé 28/01/2011 à 04:04
source utilisateur

voix
4

Aucune de ces solutions a travaillé facilement. Voici la solution la plus simple pour permettre Apache 2 héberger des sites Web en dehors de htdocs:

En dessous de la directive « DocumentRoot » dans httpd.conf, vous devriez voir un bloc de répertoire. Remplacer ce bloc de répertoire avec:

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

SOUVENEZ-VOUS DE NE PAS UTILISER CETTE CONFIGURATION DANS UN ENVIRONNEMENT RÉEL

Créé 26/01/2009 à 16:11
source utilisateur

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