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 是 apache 服务器从请求的 URL 中删除 index.php 的指令,而 routes.php 只是指示您的实际 php 脚本

于 2013-02-10T19:23:32.013 回答
1

.htaccess文件告诉 apache 将任何请求与不是您正在服务的目录中的文件或文件夹的 uri 匹配,并将其转发到您的 index.php控制器(也无需index.php在 url 中引用)。

routes.php是 uris 到控制器的映射,并且是 codeigniter 特定的一段代码。独立于您的.htaccesscodeigniter 代码,并且可以独立于任何 php 框架使用

于 2013-02-10T19:26:21.943 回答