我正在尝试访问控制器方法设置以执行简单的数据库插入,但是我无法访问它。我可以从网上访问它就好了,我不需要登录就可以运行它。
然而 如果我导航到我的项目目录,并从我的命令行输入:
php index.php My_Controller/My_Method
而是运行欢迎控制器 function __construct()
以及一堆未定义的索引错误。事实上,我可以输入php index.php jibberish/doesnotexist
,它仍会给我
<p>Severity: Notice</p>
<p>Message: Undefined index: HTTP_HOST</p>
<p>Filename: controllers/welcome.php</p>
<p>Line Number: 45</p>
为什么它运行欢迎控制器而不是我指定运行的控制器?我还修改了 .htaccess 文件以删除index.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
如果我尝试在没有来自我的基本目录的index.php的情况下执行此操作,则会出现“无法打开输入文件”。
答案 0 :(得分:0)
解决:确保您的uri_protocol设置为auto:
$config['uri_protocol'] = 'AUTO';