2011-10-02 5 views
0

최근 공유 호스트에서 zend 프레임 워크 프로젝트를 설치했습니다. 많은 어려움으로 첫 번째 인덱스 페이지가 작동하지만 모델, 폼, 매퍼와 같은 자동로드 가능한 모든 클래스를 전달합니다.Zend AutoLoader가 공유 호스팅에서 제대로 작동하지 않습니다.

다음은 루트 폴더의 공용 디렉토리 외부에서 사용하는 .htaccess의 버전입니다.

RewriteEngine On 

RewriteRule ^\.htaccess$ - [F] 

RewriteCond %{REQUEST_URI} ="" 
RewriteRule ^.*$ /public/index.php [NC,L] 

RewriteCond %{REQUEST_URI} !^/public/.*$ 
RewriteRule ^(.*)$ /public/$1 

RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule ^.*$ - [NC,L] 

RewriteRule ^public/.*$ /public/index.php [NC,L] 

약간 놀라운 사실

는 같은 매퍼 및 양식이 첫 페이지 인식, 또는 base을하지만, 아무것도 작동하지 않습니다를 능가한다는 것이다.

무엇이 잘못되었거나 누락 되었습니까? 파일이 다음 서버에 요청 된 URL 존재 그렇지 않으면 앞으로 클라이언트 브라우저 그것을 처리하는 ZF 응용 프로그램 요청에 보낼 경우

+0

귀하의 .htaccess가 이상한 모양으로 /public_html/.htaccess의 모든 컨텐츠 (/public_html/public/.htaccess되지 않음)을 작성하지만 그 원인을 생각하지 않습니다. 젠드 프레임 워크는 PHP 내부 경로에 있습니까? – markus

+0

포함 경로를 표시 할 수 있습니까? 오토로더가 고장 났을 때 던져지는 예외를 우리에게 보여줄 수 있습니까? – jah

+0

코드를 보여줄 수 있습니까? 작동해야하며, 오토로더는 일반적으로 다시 쓰기 규칙과 아무 관련이 없습니다. 그러나 어떤 종류의 오류 메시지없이 말하기는 어렵습니다. – Till

답변

0

사용이 대신

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

기본 생각이다.

루트 도메인에서 공개 디렉토리를 액세스하려면 Apache httpd.conf 파일을 대신 편집하십시오. 가상 호스트를 공개 디렉토리에 직접 매핑하십시오.

+0

공유 호스팅 환경에서 배포하는 것에 대해 묻는 사실을 알지 못합니다. 이것은 zend frameword와 함께 제공되는 기본 .htaccess입니다. – mrN

1

Zend Framework "public"폴더에서 index.php.htaccess을 복사하고 public_html 또는 동등한 디렉토리에 넣으면 좋을 것 같습니다. Zend Framework 응용 프로그램 디렉토리가 public_html과 같은 디렉토리에 있으면 기본 .htaccess 파일과 index.php 파일이 작동해야합니다.

/home/yoursite 
--application/ 
---- controllers 
---- forms/ 
---- models/ 
---- views/ 
-- library/ 
-- public_html/ (public) 
---- .htaccess 
---- index.php 
+0

여전히 클래스가 발견되지 않고 파일 경로가 작동하지 않습니다. – mrN

+0

index.php 파일의 내용을 게시 할 수 있으며 주식 .htaccess 파일을 사용해야 할 수도 있습니다. – drew010

관련 문제