2017-10-21 4 views
1

HM을 사용하여 Codeigniter-3.x에서 MX를 사용하여 백엔드 및 프론트 엔드를 사용하고 있습니다. 전체 프로젝트는 하위 도메인에 있습니다. Frontend는 localhost와 온라인 도메인에서 잘 작동합니다. 로컬 호스트 백엔드 또한 잘 작동합니다. 하지만 백엔드는 온라인 도메인에서 작동하지 않습니다. 내가 HM을 사용하는 Codeigniter에서 MX를 사용하는 것이 하위 도메인에서 작동하지 않습니다.

$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http"); 
$config['base_url'] .= "://".$_SERVER['HTTP_HOST']; 
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']); 

HMVC 로더에 대한 라우팅 솔루션이 있습니까

등의 기본 URL을 정의하는 데 사용했다 (404)

모듈이에서 URL? 프로젝트 구조가 여기에 있습니다.


mydomain.com 
    /subdomain 
      /system 
      /asset 
      /application 
       /controllers 
       /models 
       /views 
       /modules 
        /module_1 
          /controllers 
          /models 
          /views 
       /third_party 
        /MX 
       /core 
       /helper 
       /config 
       /.... 
      /backend 
       /asset 
       /application 
         /controllers 
         /models 
         /views 
         /modules 
          /module_1 
            /controllers 
            /models 
            /views 
         /third_party 
          /MX 
         /core 
         /helper 
         /config 
         /.... 
+0

'base_url' 설정에서'SCRIPT_NAME' 라인을 제거하고'HTTP_HOST' 다음에 후행 슬래시를 설정해보십시오. – Tpojka

+0

그것은 또한 작동하지 않습니다. 심지어 나는 $ config [ 'base_url'] = "https://example.com/subdomain/backend"와 같이 static base_url을 사용합니다. 내 백엔드 프로젝트 용. 같은 번거 로움. –

+0

'base_url'도 scheme이 필요합니다 (예 : http : // example.com). – Tpojka

답변

0

나는 하나의 응용 프로그램 폴더를 사용하는 것이 좋습니다 생각합니다.

백엔드의 경우 Backend/Admin으로 모듈 이름을 만들고 컨트롤러를 그대로 유지할 수 있습니다. 희망이 잘 작동 ...

+0

프론트 엔드와 백엔드로 분리해야하는 막대한 문제입니다. 각 프로젝트마다 모듈이 너무 많고 다양합니다. BTW 문제가 해결되었습니다. 그것은 PHP 버전 및 모듈 이름 케이스 문제가되었습니다. 감사 –

관련 문제