0

私はApache環境が初めてです。できれば .htaccess ファイルは必要ありませんが、選択の余地はないと思います。私のアプリケーションは、WAMPSERVER を使用する Windows 環境である私のノートブックで問題なく実行されます。しかし、Apache を使用するホスティング サーバーにデプロイすると、いくつかの問題に直面します。次の構造が CodeIgniter アプリケーションに対して正しいかどうかはわかりません。以下は、ホスティングサーバーのディレクトリ構造です...

httodocs/
/survey
    /admin
          /config           <-- $route['default_controller'] = "admin";
          /controllers
          /models
          /views
          /...
    /statistic
          /config           <-- $route['default_controller'] = "statistic";
          /controllers
          /models
          /views
          /...
    /mySurvey
          /config           <-- $route['default_controller'] = "mySurvey";
          /controllers
          /models
          /views
          /...
    /css
    /images
    /scripts
    /system
    /...
/index.php                  <-- $application_folder = 'mySurvey'; 
/admin.php                  <-- $application_folder = 'admin';
/Statistic.php              <-- $application_folder = 'statistic';

私がしたことは、Application フォルダーを複製し、名前をそれぞれ admin、statistic、mySurvey に変更することでした。上記のようにデフォルトのコントローラーを設定しました。

base_url() = 'http://survey.myhost.com'myhost.com の下のサブドメインであるすべてのアプリケーション

ルートの index.php は実際には CI アプリケーション環境であり、ユーザーが「http://survey.myhost.com」と入力すると、デフォルトで mySurvey アプリケーションに移動できます。

最初のページからhttp://survey.myhost.com/index.php/mySurvey/index/0 にアクセスすると、エラーが発生しました:

`The specified CGI application misbehaved by not retruning a complete set of HTTP headers.`

http://survey.myhost.com/admin.php/admin/loginorにアクセスすると同じメッセージが表示されますhttp://survey.myhost.com/statistic.php?statistic/chart/1(アプリケーションでもクエリ文字列を使用していることに注意してください)。

明らかに、これらはルートに関係しています。WAMPには必要ないため、サーバーに.htaccessファイルはありません。.htaccessファイルをどこに置くことができるか、上記の構造の正しいmod-rewriteは何か、この構造は適切かどうか、誰かがアドバイスできる場合は感謝します。

よろしく、

KKジャイアン

4

1 に答える 1

0
root
  /subs
    /survey (survey.domain.tld)
      /application (CI application folder)  
        /config
        /models
        ...
      index.php (CI index.php file)
    /statistics
      /application (CI application folder)
        /config
        /models
        ...
      index.php (CI index.php file)
    /mySurvey
      /application (CI application folder) 
        /config
        /models
        ...
      index.php (CI index.php file)

  /system (CI system folder)

すべてindex.php(subs/survey/index.php、subs/mysurvey/idnex.php、subs/statistics/index.php)で、root/system/フォルダーにリンクするので、

$system_path = '../../system';

これで、survey.myhost.com、statistics.myhost.com などに簡単にアクセスできます。URL から index.php、admin.php 文字列を削除します ( $config['index_page'] = '';)

私はあなたが望むものを得たことを願っています

私の英語でごめんなさい

于 2012-04-25T12:38:51.983 に答える