たとえば、\application\views\index.php などのビュー ディレクトリのスクリプトをデフォルト ページとして設定し、アプリケーションのルートから index.php ファイルを削除します。出来ますか?( config['index_page'] の値を希望する値に変更しようとしましたが、ページが見つからないというエラーが表示されます)。
それとも、codeigniter は非常に厳密なプロジェクト構造を持っているため、そのような変更を行うことはできませんか?
たとえば、\application\views\index.php などのビュー ディレクトリのスクリプトをデフォルト ページとして設定し、アプリケーションのルートから index.php ファイルを削除します。出来ますか?( config['index_page'] の値を希望する値に変更しようとしましたが、ページが見つからないというエラーが表示されます)。
それとも、codeigniter は非常に厳密なプロジェクト構造を持っているため、そのような変更を行うことはできませんか?
ルート ディレクトリから index.php ファイルを削除することはできません。代わりに、URL から index.php を削除できます。
最初にデフォルトのコントローラーを定義してから、次の手順を実行する必要があります
index.php ファイルと一緒に、.htaccess ファイルをアプリケーションのルート ディレクトリに配置します。(htaccess 拡張子が正しいかどうかを確認してください。Bz htaccess.txt は機能しませんでした。)
そして、次のルールを .htaccess ファイルに追加します。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
次に、application/config/config.php ファイルで次の行を見つけます。
$config['index_page'] = 'index.php';
以下のように変数を空に設定します。
$config['index_page'] = '';
それだけです、それは私のために働きました。
さらにうまくいかない場合は、次の変数をこれらのパラメータ ('AUTO'、'PATH_INFO'、'QUERY_STRING'、'REQUEST_URI'、および 'ORIG_PATH_INFO') で 1 つずつ置き換えてみてください。
$config['uri_protocol'] = 'AUTO';
$config['index_page'] = '';
トリックを行います
これから、次のようにサイトにアクセスした場合:
http://mypage.com
デフォルトのコントローラーが呼び出されます
application/configフォルダーのroutes.phpファイルで変更できます
お気に入り:
$route['default_controller'] = "views/index";
ところで。(application / controllers)のviews.phpコントローラーは次のようになります。
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Views extends CI_Controller {
public function index()
{
$data = "Text from controller's index method";
$this->load->view('myview', $data);
}
}
そして、(application / views)のmyview.php :
<?php echo $data; ?>