문제

개발 환경에만 MAMP를 사용하고 있으며 웹 서버에서/var/www/project-name/의 폴더 구조를 실제로 이해하지 못했습니다. 웹 서버를 HTDOCS 폴더에 가리키려고하는지 궁금합니다.

내가 묻는 이유는 라이브러리가 보안 목적으로 HTDOCS 폴더 외부에 존재하기 때문이지만 웹 애플리케이션 자체에서 어떻게 지적됩니까? 웹 애플리케이션은 웹 애플리케이션을 위해 웹 서버가 HTDOCS 폴더를 가리키면 HTDOCS 폴더 외부의 폴더에 액세스 할 수 없습니까?

도움이 되었습니까?

해결책

간단한 솔루션은 다음과 같은 폴더 구조를 갖는 것입니다.

/var/www/project-name/
    + webroot/
    + libraries/

Apache2를 가리 키십시오 DocumentRoot ~로 webroot 예배 규칙서. 웹에서 액세스 할 수없는 모든 라이브러리를 libraries 예배 규칙서. PHP 코드에서 포함 지시문을 사용하여 라이브러리 코드에 액세스하십시오.

트릭은 PHP가 읽기 액세스 한 시스템에 모든 파일을 포함시킬 수 있음을 이해하는 것입니다. 웹 사이트를 탐색하는 사람은 Webroot 디렉토리 내에서만 파일에 액세스 할 수 있습니다.

다른 팁

동일한 서버에 여러 개의 vhost가있는 경우 각 사이트를 디렉토리에 두는 것이 일반적입니다. /var/www, 이들 각각은 a htdocs 웹 루트로 장착 된 폴더. 그런 다음 웹 루트 위의 폴더에 로그 및 응용 프로그램 별 라이브러리를 가질 수 있습니다. 예를 들어 :

/var/www/lolcats.com
/var/www/lolcats.com/htdocs
/var/www/lolcats.com/htdocs/index.php
/var/www/lolcats.com/lib
/var/www/lolcats.com/log

PHP는 Apache Server 사용자가 올바른 권한을 가진 파일 시스템의 모든 파일에 액세스 할 수 있습니다. 가상 호스트가없는 Apache를 실행하는 Linux 상자에서 /var /www는 HTDOCS 디렉토리에 사용하기에 일반적인 장소입니다.

라이브러리를 PHP에 배치합니다 include_path 일반 사용자가 접근 할 수 없습니다.

도메인 작업과 같은 방식으로 지역 웹 사이트를 디렉토리에 매핑하는 것은 Googd 아이디어입니다.

종종 단일 웹 호스팅 계정에 여러 웹 사이트가 있으므로 가상 호스트를 설정하여 설정을 반영합니다.

공유 호스팅이 다음과 같은 경우

/var/www/root
 /var/www/root/website1
 /var/www/root/website2
 /var/www/root/website3

로컬 PC에서 3 개의 유리체 호스트를 작성하지만 동일한 파일 구조를 유지하십시오.

또한 구성 파일의 조건을 사용하여 서버 파일 구조에 따라 사이트를 디세히 설정하여 동일한 구성 파일이 두 설정에서 작동하도록합니다. 이것은 당신이 당신의 1 단계 빌드 프로세스를 유지한다는 것을 의미합니다.

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