Codeigniter没有路由运行?

时间:2016-06-15 11:59:06

标签: php .htaccess codeigniter routes

我下载了2.2.6的CodeIgniter版本。我在config.php上进行了配置。到目前为止一切正常:)我在我的项目中添加了另一个控制器。和繁荣:)它没有任何路线条件下工作。此外,当我删除所有路由文件时,它仍然有效。

怎么可能?这有什么答案吗?

我认为这是关于我的.htaccess文件。但我已经在另一个项目中使用相同的htaccess文件,我必须使用route。

这是我的.htacess文件,

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

感谢您的回答。 最诚挚的问候

2 个答案:

答案 0 :(得分:1)

如果您使用网址段是正确的。它不会显示它调用类的错误,它的功能不需要为此创建路由。例如

domainName.com/myClass/firstFunction

从上面的代码我的类名是myClass所以如果该类存在则调用该类,然后它转到firstFunction的函数并执行该函数。

如果你想隐藏类名和函数名,那么在这种情况下路由会有用

domainName.com/home/homeFunction

我的路线如下

$route['home/homeFunction'] = 'myClass/firstFunction';

我希望你明白这一点......如果你对此仍有疑问,我很乐意为你指导...

答案 1 :(得分:1)

路由仅适用于CI应用程序,用于将浏览器定向到类中的特定函数,当用户输入指定的URL时,将调用该函数。 http://localhost/mySite/myURL

如果您通过解决URL本身http://localhost/mySite/myClass/myFunction中的类和功能来引用该功能,那么CI应用程序会向您的浏览器提供正确的内容,甚至无需转到路由。

路由通常用于为您的URL提供有意义的名称,以使其更加用户友好,并且还增加了SEO。

$route['contact'] = 'myClass/myFunction';

现在,您可以简单地将该功能称为

http://localhost/mySite/contact

我希望它有助于更​​好地了解路线。