2012-06-18 2 views
1

안녕하세요, 저는 localhost에서 제대로 작동하는 젠드 프로젝트를 수행했습니다. 이제 서버 웹에 넣고 싶습니다 ... 가상 호스트를 만들 권한이 없으므로 .htaccess 만 사용할 수 있습니다. 난 내가 볼 때URL에 Zend 프로젝트 공개 이름

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

는하지만, 원격 페이지의 URL이 www.domain.it/public/controlle입니다

RewriteEngine On 
RewriteRule !^public/ /public%{REQUEST_URI} [L,R=301] 

같은 루트 및 공용 폴더에 htaccess로에 htaccess로이 /동작?

어떻게 공개 URL을 삭제할 수 있습니까?

답변

4

.htaccessindex.php 파일을 public_html 폴더 또는 이와 동등한 파일에 넣으십시오. 젠드 프레임 워크의 public 디렉토리는 실제 공개 웹 디렉토리가 무엇이든간에 자리 표시 자일뿐입니다.

표준 Zend Framework .htaccess 파일을 사용하십시오. 재 작성 규칙이 필요하지 않습니다.

폴더 또는 다른 곳에서 ZF 응용 프로그램 파일을 한 수준 위로 올릴 수 있습니다. 대중에게 한 레벨 위로 올려주지 않으면 올바른 위치를 반영하기 위해 index.php에서 APPLICATION_PATH을 변경하십시오.

+0

나는 당신이 sed했지만 그 줄에 오류가있었습니다 : require_once 'Zend/Application.php'그 이유를 알고 계십니까? – Simone

+0

또한 웹 루트에'application','library','scripts','data' 등을 포함하는 ZF 폴더를 가지고 있다면,'.htaccess' 파일에'Deny From All'을 추가하십시오. . 다른 사람들이'http : // example.com/application/configs/application.ini'를 탐색하고 사적인 도구를 사용하는 것을 원하지 마십시오. –

+0

지원을위한 탁구 ... 제대로 작동합니다! – Simone

관련 문제