디렉토리 외부에서 파일을 제공 하도록 xampp 를 구성 할 수 htdocs
있습니까?
예를 들어 다음과 같은 파일이 있다고 가정 해보십시오.
C:\projects\transitCalculator\trunk\TransitCalculator.php
내 xampp 파일은 일반적으로 다음 위치에서 제공됩니다.
C:\xampp\htdocs\
(기본 구성이기 때문에) Apache가 TransitCalculator.php
파일을 아래로 이동하지 않고 파일을 인식하고 처리하도록하는 방법이 htdocs
있습니까? 가급적이면 Apache가 프로젝트 디렉토리의 전체 내용에 대한 액세스를 제공하고 싶고 프로젝트 디렉토리를 아래로 옮기고 싶지 않습니다 htdocs
.
편집 : 질문 제목에 Apache를 추가하여 Q / A를보다 “검색 가능”하도록 편집했습니다.
답변
Ok, pix0r , Sparks 및 Dave 의 답변에 따르면 다음 세 가지 방법이 있습니다.
가상 호스트
- C : \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf를여십시오.
- 주석 해제 ~ 라인 19 (
NameVirtualHost *:80
). -
가상 호스트 추가 (~ 36 행) :
<VirtualHost *:80> DocumentRoot C:\Projects\transitCalculator\trunk ServerName transitcalculator.localhost <Directory C:\Projects\transitCalculator\trunk> Order allow,deny Allow from all </Directory> </VirtualHost>
-
호스트 파일 (C : \ Windows \ System32 \ drivers \ etc \ hosts)을 엽니 다.
-
더하다
127.0.0.1 transitcalculator.localhost #transitCalculator
파일의 끝까지 (Spybot-설치 및 검색된 경우 검색 및 삭제 전)
- 저장 (데스크톱에 저장하고 이전 호스트 파일에 대한 권한을 변경 (오른쪽 클릭> 속성) 한 다음 새 파일을 이전 파일의 디렉토리에 복사하거나 이전 파일의 이름을 바꾸어야 할 수도 있습니다. 비스타와 문제가 있습니다).
- Apache를 다시 시작하십시오.
이제 http : //transitcalculator.localhost/를 찾아 해당 디렉토리에 액세스 할 수 있습니다 .
별칭 만들기
-
~ 당신의 라인 (200)부터
http.conf
, 파일을 사이에 모든 것을 복사<Directory "C:/xampp/htdocs">
하고</Directory>
(~ 라인 232) 및 즉시 아래에 붙여 넣습니다C:/xampp/htdocs
(이 경우 원하는 디렉토리로 대체C:/Projects
) 새로운 디렉토리 서버에게 올바른 권한을 부여 할 수 있습니다. -
찾기
<IfModule alias_module></IfModule>
섹션 (~ 라인 300) 및 추가Alias /transitCalculator "C:/Projects/transitCalculator/trunk"
Alias
모듈 태그 내부의 주석 블록 아래 (또는 원하는대로) .
문서 루트 변경
-
C : \ xampp \ apache \ conf \ httpd.conf에서 ~ 176 행을 편집하십시오. 변화
DocumentRoot "C:/xampp/htdocs"
에 대한#DocumentRoot "C:/Projects"
(또는 무엇이든 당신이 원하는). -
~ 위치 203을 편집하여 새 위치 (이 경우
C:/Projects
) 와 일치 시키십시오 .
노트:
- 백 슬래시 “\”대신 슬래시 “/”를 사용해야합니다.
- 끝에 “/”를 포함시키지 마십시오.
- 서버를 다시 시작하십시오 .
답변
XAMPP \ apache \ conf \ httpd.conf에서 DocumentRoot 설정 을 편집하여 재배치 할 수 있습니다 .
현재 다음과 같아야합니다.
C : / xampp / htdocs
다음으로 변경하십시오.
C : / 프로젝트 / 교통 계산기 / 트렁크
답변
또한 VirtualHost는이 작업에 적합하며 하위 디렉토리없이 여러 프로젝트를 호스팅 할 수 있으므로 더 효과적 일 수 있습니다. 방법은 다음과 같습니다.
httpd.conf (또는 httpd.conf와 관련된 extra \ httpd-vhosts.conf. 슬래시 “\”는 작동하지 않을 수 있음) :
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 파일 (c : \ windows \ system32 \ drivers \ etc \ hosts) :
# localhost entries
127.0.0.1 localhost transitcalculator.localhost
이제 XAMPP를 다시 시작하면 http : //transitcalculator.localhost/ 에 액세스 할 수 있으며 해당 디렉토리에 바로 매핑됩니다.
도메인 이름의 루트에있는 사이트를 개발하는 프로덕션 환경을 복제하려고 할 때 유용합니다. 예를 들어 서버에 전달할 절대 경로가있는 파일을 가리킬 수 있습니다.
<img src="/images/logo.png" alt="My Logo" />
별명 또는 서브 디렉토리를 사용하는 환경에서는 “images”디렉토리가 현재 파일의 상대 위치를 정확하게 추적해야합니다.
답변
제한이있는 어느 곳에서나 페이지를 제공하도록 Apache를 설정할 수 있지만 일반적으로 더 안전한 형태로 배포됩니다.
아파치 파일을 편집하면 (http.conf는 가장 일반적인 이름 중 하나임) 웹 루트에 나타나도록 폴더를 설정할 수 있습니다.
편집하다:
별명 myapp c : \ myapp \
http.conf 파일에 별칭을 만드는 형식을 포함하도록 내 대답을 편집했습니다.이 형식은 Windows의 단축키 또는 Apache가 웹 루트에있는 ‘untenx’인 un * x의 심볼릭 링크와 같습니다. 이것은 아마도 당신에게 장기적으로 더 유용 할 것입니다.
답변
XAMPP가 네트워크 드라이브를 문서 루트로 사용하도록하려면 httpd.conf에서 UNC 경로를 사용해야합니다. XAMPP는 매핑 된 네트워크 드라이브를 인식하지 못합니다.
예를 들어 다음은 작동하지 않습니다. DocumentRoot “X : / webroot”
그러나 이것은 DocumentRoot “//192.168.10.100/webroot”입니다 (역 슬래시가 아니라 슬래시에 유의하십시오)
답변
Apache 2가 htdocs 외부의 웹 사이트를 호스팅 할 수있는 솔루션 :
httpd.conf의 “DocumentRoot”지시문 아래에 디렉토리 블록이 나타납니다. 이 디렉토리 블록을 다음으로 바꾸십시오.
<Directory />
Options FollowSymLinks
AllowOverride All
Allow from all
</Directory>
실제 환경에서는이 구성을 사용하지 마십시오.