XAMPP / Apache가 htdocs 외부에 파일을 제공하게하십시오
디렉토리 외부에서 파일을 제공 하도록 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 파일에 별칭을 만드는 형식을 포함하도록 내 대답을 편집했습니다. 이것은 아마도 장기적으로 더 유용 할 것입니다.
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>
실제 환경에서는이 구성을 사용하지 마십시오.
참고 URL : https://stackoverflow.com/questions/1408/make-xampp-apache-serve-file-outside-of-htdocs
'development' 카테고리의 다른 글
조각에서 onCreate (), onCreateView () 및 onActivityCreated ()의 차이점 및 사용 (0) | 2020.03.18 |
---|---|
인코딩을 감지하고 모든 것을 UTF-8로 만듭니다. (0) | 2020.03.18 |
SQL Server 테이블에서 n 개의 임의 행을 선택하십시오. (0) | 2020.03.18 |
Subversion 서버 버전 번호를 찾는 방법은 무엇입니까? (0) | 2020.03.18 |
xsd에서 .NET 4.0 클래스를 생성하는 방법은 무엇입니까? (0) | 2020.03.18 |