CodeIgniter控制器功能不起作用

Ars*_*wez 0 php codeigniter

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

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

请帮助解决这个问题,如果我需要更改配置,请告诉我.

谢谢!

Cha*_*yan 5

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

...除非您.htaccess在根目录中index.php明确指定了index.php从URL 中删除的文件.

如果您正确设置了此.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]
Run Code Online (Sandbox Code Playgroud)

将所有此文本复制到名为.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';

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