2010-08-04 2 views
-1

로컬 컴퓨터에 zend 프레임 워크를 설치했습니다. httpd.conf에 가상 호스트를 구성하고 호스트 파일 (127.0.0.1 mysite)에 행을 추가했습니다. 나는 창 7을 달리고있다. 모든 것이 완벽하게 작동한다. 문제는 내가 경로가 섞여 호스팅 서버에 업로드 할 때입니다. zf-framework라는 원격 dir에 업로드하고 있습니다. 색인 페이지에 액세스하려면이 URL을 입력해야합니다 : http://mysite/zf-framework/public. 그것은 인덱스 페이지를 표시하지만 페이지에서 어떤 링크를 누를 때 그들은 뒤죽박죽이되어 결국 과 같은 것이됩니다. 실제로는 http://mysite/zf-framework/public/controller/action이어야합니다. 이 상황에 대한 해결 방법을 찾았습니다 ... 내가 layout.phtml에있는 모든 링크에 대해 echo $ this-> baseUrl (link)을 사용합니다. 문제는 양식을 제출할 때 더 심각합니다. 나는 거기에 baseUrl을 사용할 수 없다 .... 아니면 그것을 사용하는 방법을 모르겠다. 이 프레임 워크에 의해 자동으로 해결 될 수 있도록 몇 가지 일반 구성 물건을 작성하는 방법이 있나요. index.php 또는 bootstrap.php에 경로를 자동으로 수정하는 내용을 작성한다고 가정 해 봅시다.경로가있는 zend 프레임 워크 문제

답변

0

나는 이것에 대해 100 %가 아니지만 routes.ini에서 zf-framework/public/Controller/Action 등으로 경로를 지정하면 문제가 해결 될 것입니다.

나는 이것을 bandaid로 보았지만 원격 서버의 vhosts 파일을 수정하지 않고 문제를 올바르게 해결하는 방법에 대해서는 100 % 확신하지 못했습니다. 따라서 문서 루트를 공용 폴더로 설정하십시오. 그 옵션이 아니라면, 위의 작업을 수행해야하지만 모든 파일에 모든 사람 (최소한 폴더 구조)이 액세스 할 수 있습니다. 나는 당신의 데이터베이스 스키마가/data 디렉토리에 있다면 다른 어떤 일을 할 수 있는지에 대해 확신하지 못한다.

가능한 경우 공개 루트를 웹 루트로 설정하는 것이 좋습니다.

1

Zend_Application을 사용하는 경우 configs/application.ini 파일에 다음을 추가하십시오.

resources.frontController.baseUrl =

당신이 Zend_Application을 사용하지 않는 경우 "/ - 여기 경로", 다음 부트 스트랩, 또는의 index.php 파일에서이 작업을 수행.

$front = Zend_Controller_Front::getInstance(); 
$front->setBaseUrl('/your-path-here'); 

당신은 $ this-를 사용할 필요가 없습니다> base을()는 같은 행동과 컨트롤러에 양식을 제출하는 경우 (단지 형태로 태그의 action 속성을 생략), 또는 사용하여 재지 액션 돕는 사람. 그러나 뷰 스크립트의 링크를 사용하려면 $ this-> baseUrl ('/ url-without-base')이 필요합니다. 그렇게 나쁘지는 않습니다.

+0

다른 문제를 해결하는 데 도움이되었습니다. hehe 고마워! –

관련 문제