2012-04-30 4 views
2

그래서 하위 디렉토리가있는 아파치 서버가 있습니다. 내 디렉토리를 하위 도메인으로 변환합니다. 그래서 example.site.com/mycoolsite 대신 mycoolsite.example.com입니다. 또는 다른 말로하면 /var/www/mycoolsite/var/mycoolsite으로 바꿉니다. 아래 코드로 .htaccess 파일을 사용하여이 작업을 수행합니다..htaccess ErrorDocument의 상대 경로

RewriteCond %{HTTP_HOST} ^mycoolsite.site.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/mycoolsite/ 
RewriteRule ^(.*)$ /mycoolsite/$1 [L] 

위대한. 이제는 디렉토리를 하위 도메인으로 변환합니다. 문제는 .htaccess가 원래 서브 도메인에 대한 ErrorDocument I 설정을 참조 할 수 없다는 것입니다. 내가 example.site.com/mycoolsite/aNonExistantDirectory/에 갈 수 있고 적절한 404 내가 설정을 가지고 있지만 mycoolsite.site.com/aNonExistantDirectory/ 내가 기본 서버가 404 오류 페이지가 하나가 내가 설치를하려고하면. 둘 다 동일한 서버에 있습니다. 이 문제를 해결하기 위해 오류 문서의 복사본을 만들어 /mycoolsite/ 디렉터리에 넣을 수는 있지만 원본 오류 문서를 참조하기 만하면됩니다. 문제는

, 내가 해봤 /var/www/mycoolsite//var/www/error/에 오류 문서를 참조하는 방법을 몰라 : 그 작업의

ErrorDocument 404 ../error/index.php?p=404 
ErrorDocument 404 /www/error/index.php?p=404 
ErrorDocument 404 www/error/index.php?p=404 
ErrorDocument 404 error/index.php?p=404 
ErrorDocument 404 /error/index.php?p=404 

없음. 처음으로 / 또는 그 이전에 ..없이 시도하면 페이지에 오류 문서 행이 표시됩니다. 나는 혼란 스럽다. 충분한 정보를 포함 시키길 바래요. 그렇지 않다면 알려주세요.

+2

아파치는 현재 document_root 밖에서 파일을 참조 할 수 있다고 생각하지 않습니다. 그것은 보안 문제입니다. 당신이 할 수있는 것은 단지'include (../ error/index.php)'를 포함하는 더미 PHP 파일을 만드는 것입니다. – Gerben

+0

이 작품! 만약 당신이 그것을 답으로하고 싶다면 그것을 받아 들일 것입니다. – Err

+0

도움이 되니 기쁩니다. – Gerben

답변

3

아파치는 현재 document_root 밖에서 파일을 참조 할 수 있다고 생각하지 않습니다. 그것은 보안 문제입니다. 당신이 할 수있는 것은 그냥 a가 들어있는 더미 PHP 파일을 만드는 것입니다.