2011-08-24 5 views
0

젠드 프레임 워크를 사용하여 응용 프로그램을 만들려고합니다. zf 도구로 기본 응용 프로그램 구조를 만들었습니다.젠드 인덱스 컨트롤러 문제

는 지금은 http로 응용 프로그램을 시작하려고 할 때 : "젠드 프레임 워크에 오신 것을 환영합니다"//localhost/zendApp/public/index.php 기본 페이지가로드됩니다.

하지만 HTTP 입력 할 때 : // localhost를/zendApp/공공/ 또는 에 http : // localhost를/zendApp/공공/인덱스 인덱스 컨트롤러가 호출되지 않지만 오히려 내가 오류 메시지가 :

를 지정된

* 잘못된 컨트롤러 (zendApp는)

array (
    'controller' => 'zendApp', 
    'action' => 'public', 
    'module' => 'default', 
) 
  • 보시다시피, 응용 프로그램의 이름으로 컨트롤러를 시작하기 위해 노력하고있다. 또한 나는 인덱스 컨트롤러의 추가 작업을 생성하고 http로 호출하는 경우 : // localhost를/zendApp/I 같은 오류 얻을 /인덱스/newaction 공공 :

    배열 ( '컨트롤러'=> 'zendApp을 ' '행동 '=>'대중 ', '인덱스 '=>'newaction ', '모듈 '=>'기본 ', )

당신은 인덱스 컨트롤러가 왜 나를 이해하는 데 도움이 호출되지 않았습니까? 감사합니다. .

답변

0

컨트롤러의 URL에 공용 폴더가 포함되지 않습니다. 예 : UserController는 http://localhost/zendApp/user/이 아니고 http://localhost/zendApp/public/user이 아니며 인덱스 컨트롤러는 http://localhost/zendApp/ 또는 http://localhost/zendApp/index에서 작동해야합니다.

귀하의 URL rewiter가 (예를 들어, mod_rewrite를가) 정적 파일 참조 CSS JS 등의 이미지를 예 이외의 /public/index.php하는 모든 URL을 다시 작성하도록 설정해야합니다

here

이 설정을 수행합니다 "사용자 사이트 (예 : http://localhost/~rob)에 배포하는 경우 .htaccess 파일에 RewriteBase 행이 필요합니다. RewriteBase/~ rob/zf-tutorial/public /"here

+0

감사합니다. 당신의 대답을 위해, 나는 당신이 의미하는 것을 이해합니다. 하지만 젠드의 기본값은 공용 폴더를 통해 컨트롤러에 정확히 액세스하는 것입니다. 개발자는 웹 서버에 배포 할 때 공용 폴더와 공용 폴더 외부의 나머지 응용 프로그램에 index.php 만 넣을 것이라고 생각했습니다. 그러나 이것은 나를 위해 지역에서 개발할 때 납득할만한 것이 아니므로, 당신이 말한 것을 사용할 것입니다. – MBozic

+0

제가 처음에 기사를 읽었을 때 저를위한 해결책을 찾았습니다. http://www.bogartcomputing.com/web-programming-answers/213/a-heavily-corrected-windows-xp-xampp-zend- framework-quickstart-tutorial-revision /. "C : \ xampp \ php \ php.ini"줄을 주석 처리하지 않은 것으로 보입니다. extension = php_pdo.dll extension = php_pdo_sqlite.dll – MBozic

+0

Zend의 기본 구조가 컨트롤러를 응용 프로그램 폴더, public, public의 outsite는 자산만을위한 것이며 index.php는 환경을 설정하고 부트 스트랩을 호출합니다. http://framework.zend.com/manual/1.11/en/project-structure.project.html – wgcrouch

관련 문제