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