
"url(/img/myimj.jpg)"와 같은 PHP 파일의 모든 링크에 대해 루트 상대 경로를 사용합니다.
Godaddy 호스트 서버에서는 정상적으로 작동합니다.
하지만 로컬 호스트에서 실행하고 싶습니다. (우분투 9, 아파치 2, PHP 5)
예를 들어 내 사이트는 var/www/siteone에 저장되어 있고 다른 사이트는 var/www/sitetwo에 저장되어 있습니다.
루트 디렉터리는 "var/www"로 설정됩니다.
이제 문제는 href="/"가 var/www/siteone이 아니라 var/www/에 연결된다는 것입니다.
여러 사이트에 대해 서로 다른 문서 루트를 정의하는 방법이 있습니까?
저는 웹 개발의 초보자일 뿐이고 가상 호스트가 이를 할 수 있는지 확실하지 않습니다.
누군가 설명해줄 수 있나요?
답변해주셔서 감사합니다.
/etc/apache2/sites-available/default 파일에 새 vitualhost를 추가해야 합니다.
하지만 여전히 혼란스럽습니다. localhost에 대해 어떻게 해야 할까요? 기본 IP 및 포트는 항상 127.0.0.1:80입니다.
답변1
각 <VirtualHost>
섹션에는 고유한 DocumentRoot
지시어가 있을 수 있습니다.
답변2
저는 개인적으로 VirtualDocumentRoot를 많이 사용합니다.
http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html#virtualdocumentroot
이 지시어를 사용하면 다음과 같은 작업을 수행할 수 있습니다.
VirtualDocumentRoot /var/www/%-2/%-3/
%-2는 "오른쪽에서 두 번째 항목"이므로 exemple.com의 예입니다.
%-3은 오른쪽에서 세 번째 항목이므로 foo.exemple.com의 foo입니다.
그런 다음 호스트 이름과 일치하는 폴더를 만들어야 합니다.
localhost/는 다음과 같습니다.
/var/www/localhost/_/
값이 없는 _에 주목하세요(나는 항상 _ -> www와 같은 심볼릭 링크를 만듭니다)
따라서
www.site1.com은 /var/www/site1/www/가 됩니다.
www.site2.com은 /var/www/site2/www/가 됩니다.
localhost는 /var/www/localhost/_/가 됩니다.
그런 다음 심볼릭 링크를 즐겨보세요 :-)