2012-09-08 3 views
0

나는 작동하는 프론트 컨트롤러를 가지고 있습니다. AuthController.php라는 로그인 컨트롤러를 썼습니다. 내부에 적절한 코드로 구성됩니다. 내 문제는 내가/auth에 갈 때 나는 404를 얻는다. 그것은 일종의 라우팅 문제로 보인다.Zend Newbie 컨트롤러 문제

내 인증 컨트롤러 AuthController.php이라고 그것의 상단 부분은 다음과 같습니다있다 : 즉 다른 일을 처리

class AuthController extends Zend_Controller_Action 
{ 
public function init() 
{ 
    /* Initialize action controller here */ 
} 


public function indexAction() 
{ 
    $form = new Application_Form_Login(); 
    $request = $this->getRequest(); 
    if ($request->isPost()) { 
     if ($form->isValid($request->getPost())) { 
      if ($this->_process($form->getValues())) { 
       // We're authenticated! Redirect to the home page 
       $this->_helper->redirector('index', 'index'); 
      } 
     } 
    } 
    $this->view->form = $form; 
} 

물론이 보호 기능 아래에. Zend에서 새 컨트롤러를 만들 때 CodeIgniter와 같은 컨트롤러 만 있으면 사용할 수 있다는 의미입니까? 아니면 라우팅 테이블에 추가해야합니까?

편집 :

<VirtualHost *:80> 
ServerName  new.mydomain.com 
DocumentRoot /www/htdocs/zend/public 
<Directory /www/htdocs/zend/public> 
    DirectoryIndex index.php 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 
</VirtualHost> 
+0

기본 라우팅은'[/ module]/controller/action'입니다. 동작을 지정하지 않으면'indexAction'을 실행하려고 시도합니다. 제공된 코드로 작동하지 않는 이유를 설명하기가 어렵습니다. 404가 예외는 아니지만 서 v 404 응답 인 경우,'mod_rewrite' /'htaccess'가 올바르게 구성되지 않았습니다. –

+0

.htaccess를 확인한 것처럼 보입니다. 아마도 아파치가 올바르게 설정되지 않았을 수도 있습니다. 이건 내 서버에 없기 때문에 확인하겠습니다. 감사! –

+0

Apache를 사용하고 있습니까? 가상 호스트 구성을 확인해야합니다. 설정이 제대로되어 있지 않으면 Apache가 라우팅을 Zend에 전달하지 않으므로 기본 색인 페이지 만 표시됩니다. 가능한 경우 가상 호스트 구성을 공유하십시오. –

답변

1
  1. 당신이 mod_rewrite를 (아파치의 경우)를 활성화
  2. AuthController.php 파일이 기본 모듈 (당신이 이로 IndexController.php를 뒀다 동일 하나)
  3. 체크되어 있는지 확인이 있는지 확인 httpd.conf 파일은 아파치에서 오버라이드를 허용하도록 설정되어 있습니다 (그래서 htaccess가 작동합니다) - debian squeeze와 함께 debian 박스를 사용한다면 apache.conf 일 수도 있습니다 - 다른 리눅스 타입에 대해서는 확실하지 않습니다.

이 모든 사항이 올바른 경우 올바르게 작동합니다.

+0

나는 두 가지를 모두 확인했으며 htaccess에는 오타가있었습니다. 이제는 괜찮습니다. 감사! –

+0

대단하다. 다행이다. :) – MazB

1

이 오류는 다음에 문제가있을 수 있습니다주는 경우/테스트 같은 액세스하려고 다음 다른 컨트롤러 나 testController을 만드는 시도 : 여기 내 아파치 가상 호스트 설정입니다. 그 다음 인증의 conroller을 변경하고 다른 클래스 이름으로 이름을 작동하는 경우

1

는 나 자신 젠드하는 초보자입니다, 내 경험에 404 오류로 인해 발생 한 하나에서 Keyne에서 언급 한 바와 같이 htaccess로는 (구성되지 않았습니다

코멘트)

또는

하여 컨트롤러/액션과 관련된보기가 없었다 중 하나 그것은 모두 내가 작성 또는 폴더/액션 /보기 파일 이름에 오타 어떤 종류의가 있었다되지 않았습니다.

위의 2 가지 경우가 아닌지 확인하십시오.

+0

초보자를위한 질문에 대해 유감스럽게 생각합니다.하지만 '기본 모듈에있는'의미는 무엇입니까? AuthController.conf는 현재 IndexController.php와 같은 디렉토리에 있습니다. –

+0

@DougWolfgram 설명이 올바른 모듈에 없습니다. – codisfy