CodeIgniter控制器功能不起作用

时间:2011-12-16 08:20:45

标签: php codeigniter

我已在VPN服务器上部署了我的网站。我能够访问控制器构造函数,但是当我尝试调用mydomain/controller/method之类的任何方法时,它无法正常工作。但是'mydomain / controller / index'也无效。

当我使用php方法function_exists('my function name')进行调试时,即使我的控制器中存在该方法,它也会出现错误。

请帮助解决此问题,如果我需要更改配置,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:5)

您需要导航到http://mydomain/index.php/controller/method

...除非您在.htaccess根目录中明确指定index.php文件,否则会从网址中删除index.php

如果您正确设置了此.htaccess文件,则可以导航至http://mydomain/controller/method

这是我用于调试的codeigniter的.htaccess文件示例。

php_flag display_errors on 
php_value error_reporting 7 
RewriteEngine on 
RewriteCond $1 !^(index\.php|images|css|robots\.txt) 
RewriteRule ^(.*)$ /index.php/$1 [L]

将所有这些文本复制到名为.htaccess的文件中,并将其放在index.php位于codeigniter根目录中的位置。

///////////////// 根据OP的更多信息进行编辑 //////////////// //

首先测试以下是否有效..

除非您将其删除,否则CI默认为您提供欢迎控制器(/application/controllers/welcome.php)以及由控制器(/application/views/welcome_message.php)调用的欢迎视图。

查看这些文件是否存在,以及他们是否从codeigniter框架中的zip文件中获取这些文件并将其放在这些目录中。

导航到配置文件夹并打开routes.php (/application/config/routes.php)并在reserved routes下放入$route['default_controller'] = "welcome";,如果它尚未存在的话。

此外,请确保更改了Config以反映您使用.htaccess文件的事实。

该属性应在config.php $config['index_page'] = '';

中设置如下

请注意,如果您不使用.htaccess,则会将其设置为$config['index_page'] = 'index.php';

这些说明旨在让您在页面上看到某些内容。当你开始使用上述内容时,你可以将默认控制器更改为你的控制器(不受欢迎)。