Maak XAMPP / Apache dien lêer buite htdocs [gesluit]
-
08-06-2019 - |
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"
Oplossing
Ok, per pix0r se Sparks en Dave se antwoorde dit lyk asof daar is drie maniere om doen dit:
virtuele leërskare
- Open C:. \ XAMPP \ apache \ conf \ ekstra \ httpd-vhosts.conf
- Un-kommentaar ~ lyn 19 (
NameVirtualHost *:80
).
-
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>
-
Maak jou hosts lêer. (C: \ Windows \ System32 \ drivers \ ens \ gashere)
-
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)
.
- 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).
- Restart Apache.
NameVirtualHost *:80
). 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>
Maak jou hosts lêer. (C: \ Windows \ System32 \ drivers \ ens \ gashere)
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)
Nou kan jy toegang tot die gids deur te blaai om http:. //Transitcalculator.localhost/
Maak 'n alias
-
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.
-
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
-
Edit ~ lyn 176 in C: \ XAMPP \ apache \ conf \ httpd.conf; verander DocumentRoot "C:/xampp/htdocs"
om #DocumentRoot "C:/Projects"
(en alles wat jy wil).
-
Edit ~ lyn 203 om jou nuwe plek (in hierdie geval C:/Projects
) aan te pas.
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.
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.
-
Edit ~ lyn 176 in C: \ XAMPP \ apache \ conf \ httpd.conf; verander
DocumentRoot "C:/xampp/htdocs"
om#DocumentRoot "C:/Projects"
(en alles wat jy wil). -
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