2017-05-19 6 views
1

젠드 프레임 워크 1을 사용하고 있으며 한 가지를 제외하고는 모든 것이 올바르게 진행됩니다. 내 웹 사이트에서 애셋을로드하지 않습니다. 나는 그것이 .htaccess에 문제가 될 수 있다는 것을 알고 있지만, 나는 성공하지 않고 그것을 고치는 많은 것을 시도했다. (은/공용 폴더 내부) ZEND 1 및 애셋 (css, images, js)에 대한 문제 - 페이지를 찾을 수 없음

|-/
|---application 
|---library 
|---public 
|------assets 
|------cgi-bin 
|------images 
|---resources 

내 htaccess로 파일

:

내 폴더 구조가

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

내가 웹 사이트에 액세스 할 때 불행히도, 모든 것을로드, my/public/assets 및/public/images 폴더에있는 파일은 제외됩니다. URL을 통해 파일에 액세스하려고하면 ZEND에서 "페이지를 찾을 수 없음"오류를 반환합니다.

누구든지 그 문제를 어떻게 해결할 수 있는지 알고 있습니까?

감사합니다.

답변

0

공유 호스트를 사용 중이며 Apache vhost 항목을 수정할 수있는 권한이 없다고 가정합니다. 이런 경우에 겪고있는 문제는 매우 일반적입니다. A와 자신의 _zf 디렉토리에 - application, data, library 등 - 나를 위해 일했다

한 가지 해결책은 내가 "푸시 다운 및 보호"를 호출하는 당신은 모든 ZF 내용을 아래로 밀어 것입니다 형제 인 assetspublic 디렉토리에 있습니다. 그런 다음 _zf 디렉토리의 .htaccessDENY ALL을 추가하고 최상위 레벨 public/index.php 진입 점의 경로를 조정하십시오.

주 : .htaccess의 모든 DENY이 추가 표준 ZF 설정이 설정, creds, 당신은 웹을 통해 직접 액세스 할 수 싶지 않아 다른 데이터를 가지고 있기 때문에 CRITICAL입니다. 이것은이 접근 방식의 단점입니다. 그 디렉토리를 보호하는 것을 잊어 버리면 당신은 활짝 열려 있습니다.

이 접근법은 this answer의 기본이며보다 자세한 내용은 here입니다.