2009-05-28 4 views
0

안녕하세요, 이것은 초짜 질문입니다. 사이트 위치 : "mydomain.org/subA/subB"에서 로그인하지 않고이 위치로 이동하면 (또는 세션이있는 경우) i) 로그인 페이지로 리디렉션됩니다. 그렇지 않으면 ii) 경마 등록 양식으로 리디렉션됩니다.)PHP/Zend Mechanisms for Rewriting

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

유일한 메커니즘 나는 것을 재 작성 이런 종류의 작업을 수행 할 수 있습니다 알고 아파치의 : 지금, 나는 아파치 재 작성 규칙이 있다고했지만 우리 프로젝트의 .htaccess 파일에 있음을 나타냅니다 설정이 아니라고 생각했던 mod_rewrite 또는 ii) Zend의 컨트롤러 또는 라우터 구성 요소를 통해 다시 작성. 제가 누락 될 수있는 것이 있습니까? 내가 PHP/Zend 초보자라고 말했듯이, 어떤 시스템을 통과하는지보기 위해 그 요청을 추적 할 수있는 무언가를 갖는 것이 좋을 것입니다.

감사

답변

-1

내가 사용하는 것이 젠드의 라우팅 라이브러리 내장 :

http://framework.zend.com/manual/en/zend.controller.router.html

젠드의 라우터가 사용자의 mod_rewrite 규칙을 작성하지 않고, 당신이 당신의 응용 프로그램 내에서 재 작성 경로를 만들 수 있습니다. .htaccess 파일에서 붙여 넣기 한 다시 쓰기 규칙은 Zend가 작업을 수행하는 데 필요한 규칙입니다.

편집 : 귀하의 질문을 조금 더 자세히 읽어 보았습니다. 나는 젠드가 노선을 가지고 있다는 것을 이해한다고 생각합니다. 리디렉션이 작동하는 이유를 찾고있는 경우 컨트롤러에서 인증해야하는 페이지를 확인하십시오. 컨트롤러에 preDispatch()이 정의되어 있으면 세션 인증을 확인하고 누락 된 경우 다른 컨트롤러로 리디렉션 할 수 있습니다.

+0

나는 혼란 스럽다. 귀하의 질문이 기존 신청서 또는 귀하가 작성한 질문을 다루고 있습니까? Zend 라우트가 작동하는 방법이나 프레임 워크에서 인증을 사용하는 방법을 묻고 있습니까? –

+0

안녕하세요, 저는 그것을 작동 시켰습니다. 내가 작업하고있는 기존 (개인용) 응용 프로그램을 언급하고 있었고 Zend 's Controller 및 Router 설명서를 읽었습니다. allow()와 deny() 메소드를 통해 Zend_Acl 객체를 조정해야한다는 것을 알게되었습니다. 리디렉션이 일종의 후 프로세스 결정이라고 기대하지 않는 것은 매우 까다로운 작업이었습니다. 비록 회상에서 의미가 있습니다. 희망이 분명했습니다. 모든 피드백에 감사드립니다. –