문제

구성이 가능한가요? xampp 외부에서 파일을 제공하려면 htdocs 예배 규칙서?

예를 들어, 다음과 같은 위치에 파일이 있다고 가정해 보겠습니다.

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

그리고 내 xampp 파일은 일반적으로 다음에서 제공됩니다.

C:\xampp\htdocs\

(이것이 기본 구성이기 때문에) Apache가 내 서비스를 인식하고 제공하도록 하는 방법이 있습니까? TransitCalculator.php 파일을 아래로 이동하지 않고 htdocs?가급적이면 Apache가 프로젝트 디렉터리의 전체 내용을 제공/액세스할 수 있기를 원하며 프로젝트 디렉터리를 아래로 이동하고 싶지 않습니다. htdocs.

편집하다:Q/A를 더 "검색 가능"하게 만들기 위해 질문 제목에 Apache를 추가하도록 편집되었습니다.

도움이 되었습니까?

해결책

알았어, 당 pix0r'에스, 스파크' 그리고 데이브님의 답변에 따르면 이를 수행하는 방법에는 세 가지가 있는 것 같습니다.


가상 호스트

  1. C:\xampp\apache\conf\extra\httpd-vhosts.conf를 엽니다.
  2. ~라인 19(NameVirtualHost *:80).
  3. 가상 호스트를 추가합니다(~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. 호스트 파일(C:\Windows\System32\drivers\etc\hosts)을 엽니다.

  5. 추가하다

    127.0.0.1 transitcalculator.localhost #transitCalculator
    

    파일 끝까지(Spybot - Search & Destroy 항목이 설치되어 있는 경우 이전)

  6. 저장(데스크탑에 저장하고, 이전 호스트 파일에 대한 권한을 변경하고(마우스 오른쪽 버튼 클릭 > 속성), 사용 중인 경우 새 파일을 이전 파일 위에 있는 디렉터리에 복사하거나 이전 이름을 바꿔야 할 수 있습니다. Vista에 문제가 있습니다).
  7. 아파치를 다시 시작하십시오.

이제 다음을 검색하여 해당 디렉토리에 액세스할 수 있습니다. http://transitcalculator.localhost/.


별칭 만들기

  1. 200번째 줄부터 시작 http.conf 파일, 사이의 모든 내용을 복사 <Directory "C:/xampp/htdocs"> 그리고 </Directory> (~232행) 바로 아래에 붙여넣습니다. C:/xampp/htdocs 원하는 디렉토리로 바꾸십시오(이 경우 C:/Projects) 서버에 새 디렉터리에 대한 올바른 권한을 부여합니다.

  2. 찾기 <IfModule alias_module></IfModule> 섹션(~300행)을 추가하고

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

    (또는 귀하의 욕구와 관련된 모든 것) 아래 Alias 모듈 태그 내부의 주석 블록.


문서 루트 변경

  1. C:\xampp\apache\conf\httpd.conf에서 ~라인 176을 편집합니다.변화 DocumentRoot "C:/xampp/htdocs" 에게 #DocumentRoot "C:/Projects" (또는 원하는 대로).

  2. 새 위치와 일치하도록 ~라인 203을 편집합니다(이 경우 C:/Projects).


노트:

  • 백슬래시 "\" 대신에 슬래시 "/"를 사용해야 합니다.
  • 끝에 후행 "/"를 포함하지 마세요.
  • 서버를 다시 시작하세요.

다른 팁

편집하여 위치를 변경할 수 있습니다. 문서 루트 XAMPP\apache\conf\httpd.conf의 설정입니다.

현재는 다음과 같아야 합니다.

C:/xampp/htdocs

다음으로 변경하세요.

C:/projects/transitCalculator/트렁크

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를 설정할 수 있지만 일반적으로 더 안전한 형식으로 배포됩니다.

Apache 파일(http.conf는 가장 일반적인 이름 중 하나)을 편집하면 웹 루트에 표시되도록 폴더를 설정할 수 있습니다.

편집하다:

별칭 myapp c:\myapp\

나는 Windows의 바로 가기 또는 Apache가 웹 루트에 폴더가 있는 것으로 '가장'하는 un*x 아래의 심볼릭 링크와 같은 일종의 별칭을 생성하기 위한 형식을 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> 

실제 환경에서는 이 구성을 사용하지 마십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top