Vra

Is dit moontlik om die instel van XAMPP te dien 'n lêer buite die htdocs gids ?

Byvoorbeeld, sê ek het 'n lêer soos volg:

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

en my XAMPP lêers word gewoonlik bedien uit:

C:\xampp\htdocs\

(want dit is die verstek opset) Is daar 'n manier om te maak Apache erken en dien my TransitCalculator.php lêer sonder om te beweeg dit onder htdocs? Verkieslik wil ek graag Apache te dien / het toegang tot die hele inhoud van die projekte gids, en ek wil nie die projekte gids onder htdocs beweeg.

wysig: geredigeer om Apache aan die vraag titel toe te voeg tot Q maak / A meer "gesoek"

Was dit nuttig?

Oplossing

Ok, per pix0r se Sparks en Dave se antwoorde dit lyk asof daar is drie maniere om doen dit:


virtuele leërskare
  1. Open C:. \ XAMPP \ apache \ conf \ ekstra \ httpd-vhosts.conf
  2. Un-kommentaar ~ lyn 19 (NameVirtualHost *:80).
  3. Voeg jou virtuele gasheer (~ lyn 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. Maak jou hosts lêer. (C: \ Windows \ System32 \ drivers \ ens \ gashere)

  5. Voeg by

    127.0.0.1 transitcalculator.localhost #transitCalculator
    

    om die einde van die lêer (voor die Spybot - Search & Destroy dinge as jy dit geïnstalleer)

  6. .
  7. Save (Jy kan hê om dit te red van die lessenaar, die regte verander op die ou hosts lêer (regs kliek> eienskappe), en 'n afskrif van die nuwe een in die gids oor die ou een (of die naam van die ou een) as jy gebruik Vista en het moeilikheid).
  8. Restart Apache.

Nou kan jy toegang tot die gids deur te blaai om http:. //Transitcalculator.localhost/


Maak 'n alias
  1. Begin ~ lyn 200 van jou http.conf lêer, kopieer alles tussen <Directory "C:/xampp/htdocs"> en </Directory> (~ lyn 232) en plak dit direk onder met C:/xampp/htdocs vervang met die gewenste gids (in hierdie geval C:/Projects) om jou bediener die korrekte gee regte vir die nuwe gids.

  2. Vind die <IfModule alias_module></IfModule> artikel (~ lyn 300) en voeg

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

    (of wat ook al is om jou begeertes relevant) onder die Alias kommentaar blok, binne-in die module tags.


Verander jou dokument wortel
  1. Edit ~ lyn 176 in C: \ XAMPP \ apache \ conf \ httpd.conf; verander DocumentRoot "C:/xampp/htdocs" om #DocumentRoot "C:/Projects" (en alles wat jy wil).

  2. Edit ~ lyn 203 om jou nuwe plek (in hierdie geval C:/Projects) aan te pas.


Nota:

  • Jy moet vorentoe te gebruik houe "/" in plaas van terug houe "\".
  • Moenie die sleep "/" aan die einde.
  • jou bediener te begin .

Ander wenke

Jy kan dit verskuif deur die wysiging van die DocumentRoot die opstel in XAMPP \ apache \ conf \ httpd.conf.

Dit behoort tans wees:

  

C: / XAMPP / htdocs

verander dit na:

  

C: / projekte / transitCalculator / stam

'n Virtual sou ook werk vir hierdie en dalk beter werk vir jou as jy 'n paar projekte kan aanbied sonder die behoefte aan subgidse. Hier's hoe jy dit doen:

httpd.conf (. Of ekstra \ httpd-vhosts.conf relatief tot httpd.conf achterhoede houe "\" kan veroorsaak dit nie om te werk):

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 lêer (C: \ Windows \ system32 \ drivers \ ens \ leërskare gewoonlik):

# localhost entries
127.0.0.1 localhost transitcalculator.localhost

Nou herlaai XAMPP en jy moet in staat wees om toegang te verkry http: //transitcalculator.localhost/ en dit sal karteer reguit om die gids.

Dit kan nuttig wees as jy probeer om 'n produksie omgewing waar jy die ontwikkeling van 'n webwerf wat op die wortel van 'n domein naam sal sit herhaal. Jy kan, byvoorbeeld, verwys na lêers met absolute paaie wat sal oordra na die bediener:

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

terwyl dit in 'n omgewing met behulp van aliasse of subdirectory, sal jy nodig het hou van presies waar die "beelde" gids was met betrekking tot die huidige lêer.

Jy kan Apache om bladsye te dien van enige plek met enige beperkings, maar dit is normaal verdeel in 'n meer veilige vorm.

Redigering jou apache lêers (http.conf is een van die meer algemene name) sal toelaat dat jy 'n gids te stel sodat dit lyk of in jou Webroot.

EDIT:

alias myapp c: \ myapp \

Ek het my antwoord geredigeer om die formaat te sluit vir die skep van 'n alias in die http.conf lêer wat is 'n soort van soos 'n kortpad in vensters of 'n symlink onder un * x waar Apache 'voorgee 'n gids is in die Webroot . Dit is waarskynlik gaan meer bruikbaar te wees om jou in die lang termyn.

As jy probeer om te kry XAMPP om 'n netwerk dryf gebruik as jou dokument wortel wat jy hoef te UNC paaie gebruik in httpd.conf. XAMPP sal nie erken jou gekarteer netwerk dryf.

Byvoorbeeld die volgende sal nie werk nie, DocumentRoot "X: / Webroot"

Maar dit wil nie, DocumentRoot "//192.168.10.100/webroot" (let op die vorentoe houe, nie terug houe)

Oplossing toe te laat Apache 2 na webwerwe gasheer buite htdocs:

Onder die "DocumentRoot" richtlijn in httpd.conf, jy moet 'n gids blok sien. Vervang hierdie gids blok met:

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

Onthou hierdie konfigurasie nie te gebruik in 'n werklike OMGEWING

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top