.htaccess技術的な理由から、CodeIgniter で URL から index.php を削除するために使用したくありません。ルート部分を見てきました。私もこのようなルートで試しました:
$route['(:any)'] = 'index.php/$1';
しかし、それは機能していません。
index.phpCodeIgniter でルーターを使用して削除することは可能ですか?
.htaccess技術的な理由から、CodeIgniter で URL から index.php を削除するために使用したくありません。ルート部分を見てきました。私もこのようなルートで試しました:
$route['(:any)'] = 'index.php/$1';
しかし、それは機能していません。
index.phpCodeIgniter でルーターを使用して削除することは可能ですか?
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.phpURLに含める必要のないルートを操作するために、次のことを行いました。
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";