2011-03-14 4 views
3

내 서버는 suPHP를 사용하므로 각 웹 사이트에는 자체 php.ini 파일이 있습니다. 나의 호스트는 내 htaccess로 파일에 다음을 추가 추천 :.htaccess의 suPHP가있는 php.ini

<IfModule mod_suphp.c> 
suPHP_ConfigPath /home/user/public_html 
</IfModule> 

을이 기본적으로 사이트의 php.ini의 파일을 가리키는. 그러나 나는 편집 할 필요가없는 모든 사이트에서 .htaccess 표준 파일을 갖기 위해 노력하고 있습니다. 기본적으로 제가 시작하는 "상용구"사이트의 일부입니다. 위의 내용을 다음과 같이 변경하려고 시도했습니다.

<IfModule mod_suphp.c> 
suPHP_ConfigPath %{DOCUMENT_ROOT}/public_html 
</IfModule> 

하지만 작동하지 않습니다. 당신이 말할 수 있듯이이 모든 것이 어떻게 작동하는지 이해하지 못할 수도 있습니다. 누구든지 위의 코드를 도와줌으로써 각각의 .htaccess 파일에 대한 정확한 경로를 넣을 필요가 없으며 Apache가 php.ini 파일의 경로를 찾도록 할 수 있습니까?

나는 이해하기를 바랍니다. 설명하기가 조금 어렵습니다.

+1

% {DOCUMENT_ROOT}을 (를) 사용하지 못할 수도 있습니다 (예 : http://stackoverflow.com/questions/1170100/accessing-serverdocument-root-value-in-htaccess-file) 어디서든 RewriteCond 이외. 사실입니까?/home/user/public_html을 가리킬 수있는 다른 방법이 있습니까? 각 .htaccess 파일에 다르게 작성하지 않고 있습니까? – iagdotme

답변

3

오래된 suphp Q를 스윕하기 만하면됩니다. mod_suphp은 표준 매개 변수 파서를 사용하므로 원칙적으로 % {DOCUMENT_ROOT}가 작동해야합니다. 거의 확실하게 가지고있는 문제는 suPHP가 일반적으로 공유 호스팅 솔루션에 사용된다는 것입니다.이 경우 효과적인 DOCUMENT_ROOT는 시스템 구성의 DocumentRoot 지시어에 의해 설정된 것과 다릅니다.

대부분의 공급 업체는 사용자 문서 루트를 가리 키도록 환경 변수를 설정합니다. 내 호스트는 DOCUMENT_ROOT_REAL을 설정하고, 다른 하나는 PHP_DOCUMENT_ROOT입니다. 자신의 경우에 적용 할 내용을 보려면 phpinfo() 보고서를 봐야합니다. 따라서 내 .htaccess에서 나는을 사용합니다.

suPHP_ConfigPath %{ENV:DOCUMENT_ROOT_REAL}/_private 

그리고 저에게는 잘 작동합니다.