从具有路由的codeigniter中的url中删除控制器名称

时间:2011-05-30 19:30:44

标签: php .htaccess codeigniter url-rewriting

我知道这已被问了很多次,但我根本无法让它发挥作用。我正在尝试从URL中删除index.php和控制器名称(我只有一个控制器)。

到目前为止,我能够删除index.php,但我仍然无法删除控制器名称

这是我的htaccess文件:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|static|robots\.txt)
RewriteRule ^(.*)$ /index.php?/$1 [L]

这是我的配置文件的顶部部分:

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

$config['base_url'] = '/main/';

$config['index_page'] = '';

我把它作为我的路线文件中的最后一行:

$routes['([a-z\_]+)$'] = "main/$1";  

我正在使用BlueHost,该网站是该帐户的插件域。不确定这是否有所不同。但截至目前,我能够删除index.php,但我也想删除“main”。

任何帮助都会很棒! 谢谢,

2 个答案:

答案 0 :(得分:2)

我不是我可以尝试这个以查看它是否有效的地方,但是如果您将它留在.htaccess并在路线文件中使用它会怎么样?

$routes['(:any)'] = "main/$1";

答案 1 :(得分:0)

我在这里看到你可以改变的一件事是:

$config['base_url'] = 'http://your-site.com/';

在你的routes.php中

$route['default_controller'] = 'main';