먼저 내 상황을 설명해 드리겠습니다. 두 개의 도메인, 두 개의 웹 사이트, 레이아웃이 있지만 콘텐츠와 용도가 다릅니다. 내가하고 싶은 것 :이 두 시스템 간의호스트 이름을 기반으로 기본 플러그인을 설정하십시오.
공유 :
- 하는 기능, 레이아웃 템플릿 및 관리. 다른 무엇
: 뷰에서
- 페이지, 일부 컨트롤러.
옵션은 내가 생각 :
옵션 1
- 두 사이트 중 하나를 확인
- 가 호스트 이름 확인 플러그인 : $ _SERVER를 [ 'HTTP_HOST'], 및 표시 플러그인을 사용해야하는지 여부는 코어 또는 부트 스트랩에서 확인하십시오. 이 같은
뭔가 :
if ($_SERVER['HTTP_HOST'] == 'www.example1.com') {
Configure::write('defaultplugin', 'example1');
} else {
Configure::write('defaultplugin', null);
}
이 가능
옵션 2
가상 주소입니다, 그러나 이것은 내 경로는 다음과 같이 구성되어 있기 때문에 달성하는 것이 어렵다 :
Router::connect("/{$prefix}/:language/:plugin", $indexParams, $shortParams);
은 어쩌면 내가이 경로를 변경해야합니다 :
Router::connect("/{$prefix}/:plugin/:language", $indexParams, $shortParams);
하지만 내 이전 제안이 가능한 경우 마지막 솔루션은 어떤 수준에서 제대로 작동하는지 내가 알고하지 않기 때문에, 나는 그 싶습니다.
옵션 3
여기에 설명 된 방법을 사용하여 예 1, 예 2, 일반 :
http://rickguyer.com/cakephp-one-core-many-apps/ 그래서 내가 3 개 응용 프로그램 폴더를 만들 것입니다. 하지만 응용 프로그램 폴더를 example1 및 common OR example2 및 common의 내용으로 구성 할 수 있는지 여부는 알 수 없습니다.
옵션 4
여기에 유래 누군가로부터의 멋진 아이디어.
미리 감사드립니다.
감사합니다. 그런 간단한 해결책! Router :: connect 함수에서 플러그인 변수를 채울 수 있습니다! 메인 사이트는 null이고, spinoff는 example1입니다! :디 –