Tedd XAMPP / Apache szolgálja fájlt kívül htdocs

szavazat
263

Lehetséges beállítani xampp szolgálja ki egy fájlt kívül a htdocskönyvtár?

Tegyük fel például, van egy fájl található a következő:

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

és a XAMPP fájlok általában szolgált ki:

C:\xampp\htdocs\

(mert ez az alapértelmezett beállítás) Van valami módja annak, hogy az Apache felismerni, és szolgálják fel a TransitCalculator.phpfájl mozgatása nélkül alá htdocs? Előnyösen Szeretnék Apache szolgálja ki / férhetnek hozzá a teljes tartalmát a projekt könyvtárba, és nem akarom, hogy mozog a projektek könyvtárat htdocs.

edit: szerkesztett hozzá Apache arra a kérdésre, hogy a cím Q / A több „kereshető”

A kérdést 04/08/2008 17:54
a forrás felhasználó
Más nyelveken...                            


6 válasz

szavazat
324

Ok, per pix0r „s, Sparks ” és Dave „s válaszokat úgy néz ki, akkor háromféleképpen lehet megtenni:


Virtuális gépek

  1. Nyitott C: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf.
  2. Un-comment 19. sor ( NameVirtualHost *:80).
  3. Add meg a virtuális gép (~ 36 vonalat):

    <VirtualHost *:80>
        DocumentRoot C:\Projects\transitCalculator\trunk
        ServerName transitcalculator.localhost
        <Directory C:\Projects\transitCalculator\trunk>
            Order allow,deny
            Allow from all
        </Directory>
    </VirtualHost>
    
  4. Nyissa meg a hosts fájlt (C: \ Windows \ System32 \ drivers \ etc \ hosts).

  5. hozzáad

    127.0.0.1 transitcalculator.localhost #transitCalculator
    

    hogy a végén a fájl (mielőtt a Spybot - Search & Destroy dolog, ha van, hogy telepítve van).

  6. Save (Lehet, hogy mentse el az asztalon, változtassa meg a jogosultságokat a régi hosts fájlt (jobb klikk> Tulajdonságok), és másolja az újat be a könyvtárba a régire (vagy nevezze át a régit), ha használ Vista és gondot).
  7. Apache újraindításához.

Most már hozzáférhet a könyvtárat, ha felkeresi a http: //transitcalculator.localhost/ .


Fedonév

  1. Kezdve ~ 200 vonal a http.conffájlt, másolja között mindent <Directory "C:/xampp/htdocs">és </Directory>(~ vonal 232), és illessze be közvetlenül az alábbiakban C:/xampp/htdocshelyére a kívánt könyvtárat (ebben az esetben C:/Projects), így a szerver a megfelelő engedélyeket az új könyvtár.

  2. Keresse meg a <IfModule alias_module></IfModule>szakasz (~ vonal 300), és add

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

    (vagy bármi releváns a vágyak) alatti Aliasmegjegyzés blokkot, a modul belsejében címkéket.


Változtasd meg a dokumentum gyökér

  1. Szerkesztése ~ 176 vonalon a C: \ xampp \ apache \ conf \ httpd.conf; megváltoztatni DocumentRoot "C:/xampp/htdocs"a #DocumentRoot "C:/Projects"(vagy amit akarsz).

  2. Szerkesztése ~ vonal 203, hogy megfeleljen az új helyre (ebben az esetben C:/Projects).


Megjegyzés:

  • Ki kell használni perjeleket „/” helyett törtvonalakat „\”.
  • Nem tartalmazzák a záró „/” a végén.
  • indítsa újra a kiszolgálót .
Válaszolt 04/08/2008 18:05
a forrás felhasználó

szavazat
90

Akkor áthelyezi szerkesztésével DocumentRoot beállítást XAMPP \ apache \ conf \ httpd.conf.

Meg jelenleg a következők:

C: / XAMPP / htdocs

Változás, hogy a:

C: / projektek / transitCalculator / trunk

Válaszolt 04/08/2008 18:00
a forrás felhasználó

szavazat
49

A VirtualHostot is alkalmas erre a feladatra, és jobban működnek az Ön számára, akkor a fogadó több projekt szükségessége nélkül alkönyvtárakat. Itt van, hogyan csináld:

httpd.conf (vagy extra \ httpd-vhosts.conf képest httpd.conf. Záró vágás "\" okozhat, ha nem működik):

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 fájlt (c: \ windows \ system32 \ drivers \ etc \ hosts általában):

# localhost entries
127.0.0.1 localhost transitcalculator.localhost

Most indítsa újra a XAMPP, és meg kell tudni elérni http: //transitcalculator.localhost/ és feltérképezi egyenesen a könyvtárba.

Ez akkor lehet hasznos, ha megpróbálja lemásolni a termelési környezetben, ahol te a fejlődő a helyszínen, hogy ül a gyökere a domain név. Akkor például, mutasson a fájlok teljes elérési utat, hogy viszi át a kiszolgáló:

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

mivel egy olyan környezetben használja álnevek vagy alkönyvtárakat, akkor szükségünk van nyomon követni, hogy hol a „képek” könyvtárban volt képest a jelenlegi fájlt.

Válaszolt 05/08/2008 16:30
a forrás felhasználó

szavazat
14

Beállíthatjuk, hogy az Apache szolgálja oldalak bárhonnan, bármilyen korlátozás, de ez normális eloszlású egy biztonságosabb formában.

Szerkesztése apache fájlokat (http.conf egyike a leggyakoribb nevek) lehetővé teszi, hogy bármilyen mappába, így az megjelenik a webgyökéren.

EDIT:

alias myapp c: \ myapp \

Már szerkesztette a válaszom, hogy tartalmazza a formátum egy alias létrehozásához a http.conf fájlt, amely a fajta, mint egy parancsikont a Windows vagy egy szimbolikus alatt un * x, ahol Apache „tetteti” egy mappa a webroot. Ez valószínűleg lesz hasznos az Ön számára hosszú távon.

Válaszolt 04/08/2008 18:00
a forrás felhasználó

szavazat
8

Mellékesen jegyzem meg, ha megpróbál XAMPP, hogy egy hálózati meghajtót a dokumentum gyökér, meg kell használni UNC útvonalakat httpd.conf. XAMPP nem ismeri fel a csatlakoztatott hálózati meghajtókat.

Például a következő nem fog működni, DocumentRoot „X: / webroot”

De ez az akarat, DocumentRoot „//192.168.10.100/webroot” (megjegyzés a perjel, nem törtvonal)

Válaszolt 28/01/2011 04:04
a forrás felhasználó

szavazat
4

Ezek egyike sem megoldás dolgozott könnyen. Itt a legegyszerűbb megoldás, hogy az Apache 2 fogadó honlapok kívül htdocs:

Alatta a „DocumentRoot” httpd.conf fájlban, akkor lennie kell egy blokk. Cserélje a könyvtár blokk:

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

Emlékezni, hogy ne Ezt a konfigurációt valós környezetben

Válaszolt 26/01/2009 16:11
a forrás felhasználó

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