2009-11-23 2 views
1

배경, 젠드 프레임 워크 응용 프로그램을 실행 중입니다. 가능한 한 최대한의 성능을 쥐어 짜려고합니다. 그래서 .htaccess의 규칙을 젠드 프레임 워크 책의 저자가이 블로그 게시물 당 정확히 편지로 옮기려고합니다. http://www.armando.ws/2009/03/how-to-run-zend-framework-with-no-htaccess-file/내 마지막 규칙 [L]이 아파치에서 작동하지 않는 이유는 무엇입니까?

그래서 기본적으로 httpd.conf에 다음을 포함시킵니다. conf/extra/httpd-zf.conf에는 .htaccess 파일에있는 것과 똑같은 내용이 들어 있습니다.

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

컨트롤러가 잘 작동 :

여기에 바로 아파치 - zf.conf에서 작동하지 않는 관련 코드입니다. index.php가 보입니다. 그러나 정적 파일은 작동하지 않습니다. 그것은 그것이 유효한 컨트롤러가 아니라는 것을 말하는 오류입니다, 그래서 그것은 index.php를 통해 실행되고 있습니다.

거의처럼 실행 한 후입니다 :

RewriteRule ^.*$ - [L,NC] 

그것은 바로가는 유지합니다. 그리고 사실의 지점이 줄을 제거에 :

RewriteRule ^.*$ /index.php [NC,L] 

수정 정적 파일,하지만 물론 그것의 나머지를 나누기.

그래서 기본적으로 마지막 규칙이 작동하지 않는 것 같습니다.

제대로 작동하려면 어떤 아이디어가 필요하십니까?

감사합니다.

UPDATE (I 9 로그 레벨까지 그것을 인상했다) 로그 온 후에는 밝혀

심지어 한다 RewriteRule^제거하지만. * $ /index.php [NC, L] 정적 파일을 해결할 수있었습니다. 조건에 맞지 않았습니다. RewriteCond % {REQUEST_FILENAME} - 파일을 표시 할 수 있도록 허용 한 어쨌든 "통과"했습니다 ...

이렇게 명확하게 사실 .htaccess가 올바른 경로에 있었기 때문에 httpd-zf.conf가 잘못된 경로를 가지고있는 곳에서 작동하게되었습니다 .... httpd-zf.con에게 말할 수있는 어딘가가 있어야합니다. f 내 도큐 루트 경로는 무엇입니까 ...

답변

0

솔루션을 찾을! 그것이 작동하지 않는 이유

RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} -s [OR] 
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} -l [OR] 
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} -d 

이 위키 게시물 설명 : 디버깅에 http://wiki.apache.org/httpd/RewriteContext

2

조건이 두 번째 규칙과 관련되어 있다고 생각하지 않습니다. 나는 재 작성 디버깅을 켜기 제안 : RewriteLog "/myfolder/mylogfile.log"RewriteLogLevel 3

을 시도해보십시오

RewriteCond %{REQUEST_FILENAME} !-s 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^.*$ /index.php [NC,L] 
+1

좋은 생각

여기에 작동하는 코드입니다. 그러나 조건이 실제로 두 번째 규칙과 연관되어야하는지에 대해서는 확신 할 수 없습니다. Zend Framework는 모든 정적 파일이 정상적으로 실행되기를 원합니다. 정적 파일이 없으면 나머지를 컨트롤러에 매핑 할 index.php를 통해 퍼널 링합니다. – joedevon

+0

원래 답변을 편집 했으므로 이제는 문제와 더 밀접하게 일치 할 수 있습니다. 나는 부정적인 조건으로 전환 했으므로 두 가지 규칙이 필요하지 않습니다. 건배. – segy

+0

고마워 ... 그 중 하나도 작동하지 않았다. 내 업데이트 된 질문보기 ... BTW, httpd-zf.conf에 경로를 추가하는 방법을 알고 있습니까? 그 길은 문제인 것처럼 보입니다 ... – joedevon

관련 문제