2017-10-21 11 views
1

バックエンドとフロントエンドの両方でMXを使用してCodeigniter-3.xでHMVCを使用しています。プロジェクト全体がサブドメインにあります。 Frontendはlocalhostとonlineドメインの両方でうまくいきます。 ローカルホストのバックエンドでもうまくいきます。 しかし、バックエンドはオンラインドメインでは動作しません。モジュールから URLが404HMを使用しているCodeigniterがサブドメインで動作していない

ある私は

$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を定義するために使用していますか? プロジェクトの構成はこちらです。


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"のような静的なbase_urlを使用します。私のバックエンドプロジェクトです。同じ面倒。 –

+0

'base_url'にもスキームが必要です(つまり、http:// example.com)。 – Tpojka

答えて

0

私は単一のアプリケーションフォルダを使用することをお勧めだと思います。

バックエンドでは、バックエンド/管理者でモジュール名を作成し、コントローラをそのまま使用することができます。それが正常に動作することを願って...

+0

私はフロントエンドとバックエンドとして分離する必要があるその大きな問題です。各プロジェクトには異なるモジュールがあります。 BTWの問題が解決しました。それはPHPのバージョンとモジュール名のケースの問題でした。ありがとう –

関連する問題