【问题标题】:Codeigniter is running without route?Codeigniter 在没有路由的情况下运行?
【发布时间】:2016-10-16 12:48:12
【问题描述】:

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

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

我以为是关于我的 .htaccess 文件。但是我已经在另一个项目中使用了相同的 htaccess 文件,我必须在其中使用路由。

这是我的 .htacess 文件,

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

感谢您的回答。 最好的问候

【问题讨论】:

标签: php .htaccess codeigniter routes


【解决方案1】:

如果你使用 url 段是正确的。它不会显示错误,它调用类并且它的函数不需要为此创建路由。例如

domainName.com/myClass/firstFunction

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

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

domainName.com/home/homeFunction

我的路线如下

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

希望您理解这一点...如果您对此仍有疑问,我很乐意为您提供指导...

【讨论】:

  • 好...继续发展...@GokhanKandemir
【解决方案2】:

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

如果您通过在 URL 本身 http://localhost/mySite/myClass/myFunction 中同时寻址类和函数来引用该函数,那么 CI 应用程序将正确的内容传递到您的浏览器,甚至无需访问路由。

路由通常用于为您的 URL 赋予有意义的名称,以使其更加用户友好,同时也提高了 SEO。

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

现在,您可以简单地将函数称为

http://localhost/mySite/contact

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

【讨论】:

    猜你喜欢
    • 2013-01-02
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多