2011-09-10 8 views
1

방금 ​​Zend 프로젝트를 호스팅 서비스에 배포했습니다. 내 프로젝트를 archive로 업로드 한 다음 public_html 폴더에 압축을 풉니 다. -> 응용 프로그램 (폴더)
-> libary (폴더)
-> 공공 (폴더)
-> 테스트 (폴더)
-> CGI젠드 프레임 워크를 cPanel에 배포 할 때 내부 서버 오류가 발생했습니다.

public_hmtl
: 그래서 나는이 디렉토리가 > buildpath
- -> htaccess로 (이것은 처음에 나에게 속하지)
-> 프로젝트
-> zfproject.xml 01,238 -bin (폴더)
를 (이것은 처음에 나에게 속하지) -> index.php에 내가 사이트를 실행하면

, 그것은 보여줍니다 (이/대중에게 리디렉션을위한) :

서버는 내부 오류가 발생

내부 서버 오류 또는 잘못된 설정이며 으로 요청을 완료 할 수 없습니다.

서버 관리자에게 [email protected] 및 에게 오류가 발생한 시간과 오류 발생 원인을 알려주는 내용 ( )을 알려주십시오.

이 오류에 대한 추가 정보는 서버 오류 로그에 있습니다.

또한 요청을 처리하기 위해 ErrorDocument를 사용하려고 시도하는 동안 404 찾을 수 없음 오류가 발생했습니다.

xampp을 사용하여 localhost에서 프로젝트를 수행했는데 제대로 작동합니다. 그러나 cPanel에 업로드했을 때, 그것은 그렇게되었습니다.

폴더의 chmod를 755로 설정하고 파일을 644로 설정했습니다. htaccess와 관련이 있다고 생각하지만 cPanel에서이를 처리하는 방법을 잘 모릅니다.

어떻게해야합니까? 나는 공공/htaccess로에서 SetEnv APPLICATION_ENV productionSetEnv APPLICATION_ENV을 설정하지만, 여전히 실패

SetEnv APPLICATION_ENV production 

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

[Sat Sep 10 15:10:39 2011] [error] [client 125.163.228.77] File does not exist: /home/publicusername/public_html/404.shtml 
[Sat Sep 10 15:10:39 2011] [error] [client 125.163.228.77] File does not exist: /home/publicusername/public_html/favicon.ico 
[Sat Sep 10 15:10:39 2011] [error] [client 125.163.228.77] File does not exist: /home/publicusername/public_html/500.shtml 
[Sat Sep 10 15:10:39 2011] [alert] [client 125.163.228.77] /home/publicusername/public_html/public/.htaccess: Invalid command 'SetEnv', perhaps misspelled or defined by a module not included in the server configuration 
[Sat Sep 10 15:09:58 2011] [error] [client 125.163.228.77] File does not exist: /home/publicusername/public_html/404.shtml 

내 공개/htaccess로 :

오류 로그는 다음과 같이 표시됩니다.

+0

오류 로그를 확인 했습니까? 그것은 무엇을 말하는가? – Ravi

+0

먼저 .htaccess 파일을 여기에 복사하십시오. cpnale – undone

+0

적인 SetEnv APPLICATION_ENV 생산 한다 RewriteEngine [OR] 한다 RewriteCond %가 {REQUEST_FILENAME}가 -l [OR] 한다 RewriteCond % {REQUEST_FILENAME}가 한다 RewriteRule을 -d -s 한다 RewriteCond % {REQUEST_FILENAME} ^에. * $에서 2 체크 에러 로그 - [NC, L] RewriteRule ^. * $ index.php [NC, L] eror 로그로 질문을 편집했습니다. – psaka

답변

2

오류는 SetEnv을 가리키는 것 같습니다. 내 최선의 추측은 귀하의 호스트가 아파치의 이전 버전 (1.3.7 이전)을 사용하고 있거나 mod_env을 활성화하지 않았기 때문입니다.

0

올바른 폴더 구조가 아닌 것 같습니다. 'public_html'폴더에는 모든 프로젝트 트리가 포함되어서는 안됩니다. 여기에는 'public'폴더 내용 만 있어야합니다. 다른 폴더 (응용 프로그램, 라이브러리, 테스트 등)) 'public_html'폴더 외부에 있어야합니다. 'Public_html'은 웹 루트 디렉토리입니다. 'public_html'을 'public'폴더의 별칭으로 생각할 수 있습니다.

내 현재 프로젝트 (서버는 CentOS에 있고 CPanel이 사용됨)에서 사용하는 폴더 구조입니다. 소스에 'public'이라는 이름이 사용되면 문제가 발생할 수 있습니다. 이 경우 기본 'index.php'파일에서 별칭을 정의하고 다른 위치에서 사용할 수 있습니다.

+1

이상하지는 않지만 OP의 폴더 구조가 오류의 원인이 아닙니다. – Phil

관련 문제