2012-04-17 6 views
1

내 문제는 해결하기가 쉽지만 실제로 이해할 수는 없습니다.Zend Framework 문서 루트 설정

"Beginning Zend framework"라는 책의 지침에 따라 새 프로젝트를 만들었습니다. 프로젝트에는 '계정'과 '아티스트'컨트롤러가 2 개 있습니다.

. 
├── application 
│   ├── Bootstrap.php 
│   ├── configs 
│   │   └── application.ini 
│   ├── controllers 
│   │   ├── AccountController.php 
│   │   ├── ArtistController.php 
│   │   ├── ErrorController.php 
│   │   └── IndexController.php 
│   ├── models 
│   └── views 
│    ├── helpers 
│    └── scripts 
│     ├── account 
│     │   ├── activate.phtml 
│     │   ├── index.phtml 
│     │   ├── new.phtml 
│     │   └── success.phtml 
│     ├── artist 
│     │   ├── index.phtml 
│     │   └── list-all-artists.phtml 
│     ├── error 
│     │   └── error.phtml 
│     └── index 
│      └── index.phtml 

가 어떻게 설정 문서 루트 예를 들어, /account/new.phtml에 액세스 할 수 있습니다 : 여기에/응용 프로그램의 트리 뷰는? (127.0.0.1을 입력하면 기본 색인 페이지 "Zend Framework에 오신 것을 환영합니다!"를 볼 수 있지만 다른 페이지에 액세스하는 방법을 모르겠습니다.)

더 많은 정보 : +) 문서 루트는, .htacess 포함 index.php를) +) 해당 페이지를 반환 127.0.0.1/index /.../public/ (하지만 127.0.0.1/index /index.phtml이 작동하지 않습니다. http://127.0.0.1/account, http://127.0.0.1/artist 반환 404 오류.

+0

자습서 나 책을 읽기 전에 먼저해야 할 일 : [빠른 시작 읽기] (http://framework.zend.com/manual/en/learning.quickstart.intro.html#learning.quickstart.intro. zf). 이것은 젠드 프레임 워크가 어떻게 작동 하는지를 기본적으로 이해하는 데 도움이 될 것입니다. – Liyali

답변

2

ZF에 오신 것을 환영합니다! 개인적인 일은 표준 "localhost"을 사용하는 대신 항상 유령을 설정하는 것입니다. 이것은 정말 별도의 프로젝트 관리에 도움이되며 더 쉬운 위치에 저장할 수 있습니다.

localhost/account를 시도하면 어떻게됩니까? 어떤 유형의 오류가 발생하면 Apache를 제대로 설정하지 않은 것입니다. 여기 내가 사용하는 샘플 Vhost입니다 :

<VirtualHost *:80> 
    ServerName project.local 
    DocumentRoot "C:\xampp\htdocs\project\public" 


    # This should be omitted in the production environment 
    SetEnv APPLICATION_ENV development 

    <Directory "C:\xampp\htdocs\project\public"> 
     Options Indexes MultiViews FollowSymLinks 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 

</VirtualHost> 

가서 비슷한 일을하려고하고 HOSTS 파일에서 각각의 라인을 만들고, 당신의 캐시를 지우, 당신은 설정해야합니다!

또한 귀하의 구조에서 public 폴더가 누락 된 것으로 나타났습니다. 가지고 계신 분이 있으시면 .htaccess과 함께 index.php으로 다시 작성하십시오. 편집 : 방금 편집을 보았습니다, 당신은 이미이 알아서해야합니다.

+0

귀하의 제안을 시도했지만 문제가 해결되지 않은 것으로 보입니다. 이 구성이 올바른지 참조하십시오 (! 감사합니다)'code'NameVirtualHost * : 80 <가상 호스트 * : 80> 서버 이름 hello.local 을 DocumentRoot "C : \ 아파치 \ htdocs를 받고 helloworld \ 공용 \" 적인 SetEnv APPLICATION_ENV " 개발 " <디렉터리"C : \ 아파치 \ helloworld를의 \ 공용 \ "htdocs에> DirectoryIndex에 index.php를 에 AllowOverride 모든 주문 허용, 부터 허용 거부 '이전과 동일 – Huynh

+0

을 code' 모든 , http://127.0.0.1/은 'C : \ Apache \ htdocs \ helloworld \ application \ views \ scripts \ index \ index.phtml'파일의 내용을 제공합니다., b ut http://127.0.0.1/account에 'Not Found'가 나타납니다. – Huynh

+0

@ user1046862 디렉토리 선언에서'FollowSymlinks'를 잊어 버렸습니다. 이것은 모든 요청이'index.php'를 통해 라우트되기 때문에 ZF를 사용할 때 중요합니다. – RockyFord