在不同的目录中设置路由Codeigniter

时间:2014-11-19 04:06:06

标签: php .htaccess codeigniter controller routes

将控制器划分为文件夹,站点文件夹中的站点,管理员文件夹中的管理员(控制器内部)。

但是我不能在没有放置相同文件夹URL的基础的情况下访问控制器,例如:

我想这样访问:http://localhost/gabriel/projeto/about

但我可以:http://localhost/gabriel/projeto/site/about

文件'htaccess'这样:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

'base_url'这样:

$config['base_url'] = 'http://localhost/gabriel/projeto/';

文件'路由'这样:

$route['default_controller'] = "site/index/";
$route['404_override'] = '';
$route['admin'] = "admin/login";

已经尝试修改.htaccess但没有结果。 在'routes'文件中插入另一行:

$route['(:any)'] = "site/$1";

但是将该行与路径冲突结束,管理员只能在Url中接收一个参数。

我该如何解决这个问题?制作动态路线...

3 个答案:

答案 0 :(得分:0)

我并非100%确定这是您要求的,但请尝试在config / config.php文件中设置base_url

$config['base_url'] = 'http://localhost/gabriel/projeto/';

或设置为您希望您的网站根目录

答案 1 :(得分:0)

在您的routes.php中添加它..将它放在所有其他$ route变量...

之上
$route['projeto/about'] = 'projeto/site/about';

答案 2 :(得分:0)

解决了我的问题:

$route['admin/(.*)'] = "admin/$1";
$route['(.*)'] = "site/$1";

现在这条动态路线