배경, 젠드 프레임 워크 응용 프로그램을 실행 중입니다. 가능한 한 최대한의 성능을 쥐어 짜려고합니다. 그래서 .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 내 도큐 루트 경로는 무엇입니까 ...
좋은 생각
여기에 작동하는 코드입니다. 그러나 조건이 실제로 두 번째 규칙과 연관되어야하는지에 대해서는 확신 할 수 없습니다. Zend Framework는 모든 정적 파일이 정상적으로 실행되기를 원합니다. 정적 파일이 없으면 나머지를 컨트롤러에 매핑 할 index.php를 통해 퍼널 링합니다. – joedevon원래 답변을 편집 했으므로 이제는 문제와 더 밀접하게 일치 할 수 있습니다. 나는 부정적인 조건으로 전환 했으므로 두 가지 규칙이 필요하지 않습니다. 건배. – segy
고마워 ... 그 중 하나도 작동하지 않았다. 내 업데이트 된 질문보기 ... BTW, httpd-zf.conf에 경로를 추가하는 방법을 알고 있습니까? 그 길은 문제인 것처럼 보입니다 ... – joedevon