我已经在VPN服务器上部署了我的站点.我能够访问控制器构造函数,但是当我尝试调用任何方法时mydomain/controller/method,它无法正常工作.但是'mydomain/controller/index'也不起作用.
当我使用php方法function_exists('my function name')进行调试时,即使该方法存在于我的控制器中,它也会出现错误.
请帮助解决这个问题,如果我需要更改配置,请告诉我.
谢谢!
您需要导航到 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';
这些说明旨在让您在页面上看到某些内容.当您使用上述内容时,您可以将默认控制器更改为您的控制器(不受欢迎).