Utwórz plik xampp / Apache serve poza folderem htdocs [zamknięty]
Zamknięte. to pytanie nie spełnia wytycznych dotyczących przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi.
chcesz poprawić to pytanie? Update pytanie więc jest on-topic {[9] } dla Stack Overflow.
Zamknięte 7 lat temu .
Popraw to pytanieCzy jest możliwe skonfigurowanie xampp tak, aby obsługiwał plik spoza katalogu htdocs
?
Na przykład, powiedzmy, że mam plik zlokalizowany jako następuje:
C:\projects\transitCalculator\trunk\TransitCalculator.php
I moje XAMPP pliki są zwykle serwowane z:
C:\xampp\htdocs\
(bo to domyślna konfiguracja) Czy Jest jakiś sposób, aby Apache rozpoznał i podał mój plik TransitCalculator.php
bez przenoszenia go pod htdocs
? Najlepiej, żeby Apache miał / miał dostęp do całej zawartości katalogu projects i nie chcę przenosić katalogu projects pod htdocs
.
Edit: edited to add Apache to the question tytuł, aby Q/A było bardziej "przeszukiwalne"
6 answers
Ok, na pix0r ' S, Sparks' i Dave'S odpowiedzi wygląda na to, że są na to trzy sposoby:
Wirtualne Hosty
- Otwórz C:\xampp\apache\conf\extra\httpd-vhosts.conf.
- Un-comment ~line 19 (
NameVirtualHost *:80
). -
Dodaj swój wirtualny host (~linia 36):
<VirtualHost *:80> DocumentRoot C:\Projects\transitCalculator\trunk ServerName transitcalculator.localhost <Directory C:\Projects\transitCalculator\trunk> Order allow,deny Allow from all </Directory> </VirtualHost>
Otwórz plik hosts (C:\Windows\System32\drivers\etc\hosts).
-
Dodaj
127.0.0.1 transitcalculator.localhost #transitCalculator
Do koniec pliku (przed Spybot-Search & Destroy rzeczy, jeśli masz to zainstalowane).
- Zapisz (być może będziesz musiał zapisać go na pulpicie, zmienić uprawnienia do starego pliku hosts (kliknij prawym przyciskiem myszy > właściwości) i skopiować nowy do katalogu nad starym (lub zmienić nazwę starego), jeśli używasz Visty i masz problemy).
- Uruchom Ponownie Apache.
Teraz możesz uzyskać dostęp do tego katalogu, przeglądając http://transitcalculator.localhost / .
Stwórz Alias
Zaczynając od linii ~200 pliku
http.conf
, skopiuj wszystko pomiędzy<Directory "C:/xampp/htdocs">
i</Directory>
(~linia 232) i wklej bezpośrednio poniżej zC:/xampp/htdocs
zastąpionym żądanym katalogiem (w tym przypadkuC:/Projects
), aby nadać serwerowi poprawne uprawnienia do nowego katalogu.-
Znajdź
<IfModule alias_module></IfModule>
sekcję (~linia 300) i dodajAlias /transitCalculator "C:/Projects/transitCalculator/trunk"
(lub cokolwiek jest istotne dla twoje pragnienia) pod blokiem komentarzy
Alias
, wewnątrz znaczników modułu.
Zmień główny katalog dokumentu
Edit ~ line 176 in C:\xampp\apache\conf\httpd.conf; Zmień
DocumentRoot "C:/xampp/htdocs"
na#DocumentRoot "C:/Projects"
(lub cokolwiek chcesz).Edytuj ~linię 203, aby dopasować nową lokalizację (w tym przypadku
C:/Projects
).
Uwagi:
- musisz użyć ukośników do przodu " / " zamiast ukośników do tyłu "\".
- nie włączaj końcówki " / " na końcu.
- uruchom ponownie serwer .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-02-28 14:24:54
Możesz go przenieść, edytując DocumentRoot ustawienie w XAMPP\apache\conf\httpd.conf.
Powinno być obecnie:
C:/xampp/htdocs
Zmień na:
C:/projects/transitCalculator/trunk
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-04 17:00:27
VirtualHost działa również w tym celu i może działać lepiej dla Ciebie, ponieważ możesz hostować kilka projektów bez potrzeby podkatalogów. Oto jak to zrobić:
Httpd.conf (lub extra\httpd-vhosts.conf względem httpd.conf. Końcowe ukośniki " \ " mogą spowodować, że nie zadziała):
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 file (c:\windows\system32\drivers\etc\hosts zazwyczaj):
# localhost entries
127.0.0.1 localhost transitcalculator.localhost
Teraz uruchom ponownie XAMPP i powinieneś mieć dostęp http://transitcalculator.localhost / i będzie Mapuj prosto do tego katalogu.
Może to być pomocne, jeśli próbujesz odtworzyć środowisko produkcyjne, w którym tworzysz witrynę, która będzie znajdować się w katalogu głównym nazwy domeny. Można na przykład wskazać pliki ze ścieżkami bezwzględnymi, które zostaną przeniesione na Serwer:
<img src="/images/logo.png" alt="My Logo" />
Podczas gdy w środowisku używającym aliasów lub podkatalogów, musisz dokładnie śledzić, gdzie katalog "images" był względem bieżącego pliku.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-05 18:06:20
Możesz ustawić Apache do serwowania stron z dowolnego miejsca z dowolnymi ograniczeniami, ale jest on normalnie dystrybuowany w bezpieczniejszej formie.
Edycja plików apache (http.conf jest jedną z bardziej popularnych nazw) pozwoli Ci ustawić dowolny folder tak, aby pojawiał się w Twoim webroocie.
EDIT:
Alias myapp c:\myapp\
Edytowałem swoją odpowiedź, aby uwzględnić format tworzenia aliasu w http.plik conf, który jest jakby skrótem w windows lub dowiązaniem symbolicznym pod un * X, gdzie Apache "udaje", że folder znajduje się w katalogu webroot. To prawdopodobnie będzie bardziej przydatne dla Ciebie w dłuższej perspektywie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-04 17:06:58
Jeśli próbujesz zmusić XAMPP do używania dysku sieciowego jako głównego katalogu dokumentu, musisz użyć ścieżek UNC w httpd.conf. XAMPP nie rozpozna zmapowanych dysków sieciowych.
Na przykład poniższe nie będą działać, DocumentRoot "X:/webroot"
Ale to będzie, DocumentRoot "/ / 192.168.10.100 / webroot " (zwróć uwagę na ukośniki do przodu, nie ukośniki do tyłu)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-01 00:09:03
Rozwiązanie pozwalające Apache 2 na hostowanie stron poza htdocs:
Pod dyrektywą "DocumentRoot" w httpd.conf, powinieneś zobaczyć blok katalogów. Zamień ten blok katalogów na:
<Directory />
Options FollowSymLinks
AllowOverride All
Allow from all
</Directory>
PAMIĘTAJ, ABY NIE UŻYWAĆ TEJ KONFIGURACJI W RZECZYWISTYM ŚRODOWISKU
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-02-28 14:45:38