0

これは私の .htaccess ファイルです:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L]

そして私のroutes.phpファイル:

$route['default_controller'] = 'pages/view';
$route['news/(:any)'] = 'news/view/$1';
$route['news'] = 'news';
$route['(:any)'] = 'pages/view/$1';

やっていることは基本的に同じではないでしょうか。使い方として正しいのはどれ?

*編集: 私の質問は、この例に固有のものではありません。それはどちらが何のために良いですか?両方とも同じように見えますか?それとも私が間違っていますか?*

4

2 に答える 2

2

.htaccess ファイルは URL から index.php を削除しますが、routes.php ファイルはコントローラー、アクション、およびパラメーターに関して URI セグメントが指している場所を制御します。

言い換えると、

.htaccess は、要求された URL から index.php を削除するための Apache サーバーへの指示であり、routes.php は実際の php スクリプトを指示するだけです。

于 2013-02-10T19:23:32.013 に答える
1

この.htaccessファイルは、提供しているディレクトリ内のファイルまたはフォルダーではない uri への要求を照合し、それを index.phpコントローラーindex.phpに転送するように apache に指示します (また、url で参照する必要がなくなります)。

routes.phpuris からコントローラーへのマップであり、codeigniter 固有のコードです。これ.htaccessは codeigniter コードから独立しており、任意の php フレームワークから独立して使用できます。

于 2013-02-10T19:26:21.943 に答える