2010-01-03 2 views
2

플러그인을 사용하여 Wordpress를 내 Zend 응용 프로그램과 통합하려고합니다. 한 가지를 제외하면 아주 잘 작동합니다. 기본 URL . 내 워드 프레스 플러그인은/myapplication/libray/wordpress에서 내 응용 프로그램의 부트 스트랩 안에 내 통합 기능을 호출합니다. 따라서 요청베이스 URL은 전체 응용 프로그램에 대해이 값으로 설정됩니다. 젠드는 요청이/myapplication/public에서 파견되어 기본 URL을 적절히 감지 할 수 있다고 생각하도록 바보가되고 싶습니다. 물론 $ request-> setBaseUrl ('/ myapplication/public')은 쉬운 방법이지만, blog.myapplication.com에서 블로그를 호스팅하고 기본 URL을 어디에서 만들지는 생산 측에서 저를 괴롭 힙니다. /와 매핑되어 문제를 일으키지 않습니다. 해킹하고 응용 프로그램 환경을 기반으로 조건문을 넣고 싶지 않습니다.Zend는 기본 index.php 대신 다른 디렉토리에서 요청을 보낸다고 생각합니다.

이렇게 우아한 방법이 있습니까? 요청 객체와 $ _SERVER 변수 (REQUEST_URI, SCRIPT_NAME SCRIPT_FILENAME PHP_SELF 등)를 가지고 놀아 보았지만 제대로 작동하지 못하는 것 같습니다. 루트 객체를 사용해야 할 수도 있습니다. 그렇다면이 상황에서 컨셉을 이해하는 데 가장 큰 이해를 얻지 못했기 때문에 누군가가 어떻게 설명 할 수 있습니까?

답변

1

의 속임수는 APPLICATION_ENV을 기반으로하지 않으시겠습니까?

if (APPLICATION_ENV != 'production') { 
    $request->setBaseUrl('/myapplication/public'); 
} 

더 나은 방법은 실제 생산 설정을 모방 한 개발 시스템의 가상 호스트를 설정하는 것입니다.

+0

사실이 접근 방식에 절대적으로 만족하지는 않지만 실제로 대체 접근 방식으로 수행 한 것입니다. 그러나 이것은 불필요한 복잡성을 추가하지 않고 지금까지 가장 간단한 해결책이라고 생각합니다. –

+0

@gnarf 결국 그것은 그 해결책에 온 것 같아요. 그 접근 방식을 사용하는 것보다 낫다. –

관련 문제