私は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/login
orにアクセスすると同じメッセージが表示されますhttp://survey.myhost.com/statistic.php?statistic/chart/1
(アプリケーションでもクエリ文字列を使用していることに注意してください)。
明らかに、これらはルートに関係しています。WAMPには必要ないため、サーバーに.htaccessファイルはありません。.htaccessファイルをどこに置くことができるか、上記の構造の正しいmod-rewriteは何か、この構造は適切かどうか、誰かがアドバイスできる場合は感謝します。
よろしく、
KKジャイアン