我正在尝试使用htaccess从CodeIgniter中的URL中删除默认控制器名称;我隐藏了index.php,但也想摆脱当前称为con_index的默认控制器。
例如,如果网站root是mysite.com, mysite.com/con_index/function1将更改为mysite.com/function1,依此类推。
所有其他控制器都可以保留在url中,所以如果我有另一个名为location1的名为locations的控制器,mysite.com/locations/location1将保持不变。
我认为这会产生一个更传统的结构,而不是在你离开网站根目录的第二个类和功能名称中弹出。为了实现这一点,我的牙齿咬牙切齿,有人可以帮忙吗?
答案 0 :(得分:1)
在你的.htaccess中试试这个:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)\/$ index.php/com_index/$1 [nc] [L]
这将用$1
替换括号内的任何出现。因此,当您拨打www.example.com/function_1/
时,它实际上会调用www.example.com/com_index/function_1
但是,我不确定它是否适用于CI,因为CI可能对访问URL路由有一些限制。
答案 1 :(得分:0)
答案 2 :(得分:0)
enter code here
$ route ['(:any)'] ='controller_name / function_name / $ 1';
它将替换控制器,然后您可以尝试通过不将控制器名称放入其中来访问URL。