.htaccess
技術的な理由から、CodeIgniter で URL から index.php を削除するために使用したくありません。ルート部分を見てきました。私もこのようなルートで試しました:
$route['(:any)'] = 'index.php/$1';
しかし、それは機能していません。
index.php
CodeIgniter でルーターを使用して削除することは可能ですか?
.htaccess
技術的な理由から、CodeIgniter で URL から index.php を削除するために使用したくありません。ルート部分を見てきました。私もこのようなルートで試しました:
$route['(:any)'] = 'index.php/$1';
しかし、それは機能していません。
index.php
CodeIgniter でルーターを使用して削除することは可能ですか?
Is it possible to remove index.php without using .htaccess?
いいえ、それはphpやcodeigniterを超えたものであり、サーバーのものです。
ユーザーが に行こうとするとどうなりlocalhost/codeigniter/welcome/index
ますか?
MVC は基本的に、すべての php ファイルをそのフォルダー内に隠します。ユーザーがコードを操作する方法を 1 つだけ提示します。index.php
何が起こるか
これは、すべての MVC フレームワークが行うことは単純で、コードを隠し、単一のフロント ファイルを使用してすべてのリクエストを処理し、ルーター クラスを使用してリダイレクトします。
そのため、index.php を使用する場合hide
は、サーバーにすべての呼び出しを単に index.php にリダイレクトするように指示する方法を見つける必要があります。
index.php は Web サイトへのアクセス ドアであり、サーバーはすべてのリクエストを index.php に送信する必要があることを認識している必要があります。何らかの方法で、それが index.php/ が URL に存在するか、何らかのサーバー構成を使用して呼び出しをリダイレクトする必要がある理由です。しかし、それは常にロードされています
index.php
URLに含める必要のないルートを操作するために、次のことを行いました。
index.php
しました。index_ci.php
.htaccess
ファイルには次のものがあります。
DirectoryIndex index_ci.php index.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index_ci\.php) # do not allow direct access
RewriteRule ^(.*)$ index_ci.php/$1 [L,QSA]
Myはプレフィックスroutes.php
なしの URL を受け入れるようになりました。index.php
例:
$route['welcome'] = "welcome";