Codeigniter - 未指定输入文件

koo*_*ool 85 php codeigniter

嗨,我是Codeigniter的初学者,我看到了一个CI教程,只是想做一件简单的事情.我下载了CI并将此文件添加到控制器目录,但它不起作用.

<?php

class site extends CI_Controller
{
    public function index()
    {
        echo "Hello World";
    }

    function dosomething()
    {
        echo "Do Something";
    }   
}    
?>
Run Code Online (Sandbox Code Playgroud)

当我尝试使用http://..../index.php/site访问它时,我得到输出..."没有指定输入文件"....顺便说一句,我将文件命名为site.php

小智 283

只需添加在.htaccess文件中的index.php之后签名:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
Run Code Online (Sandbox Code Playgroud)

它会工作!

  • 谢谢....我可能知道这背后的逻辑......请知道这对我很有帮助 (4认同)

小智 54

Godaddy托管它似乎固定.htaccess,我自己它正在工作

RewriteRule ^(.*)$ index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)

RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
Run Code Online (Sandbox Code Playgroud)


koo*_*ool 37

我在这里找到了这个问题的答案.....问题是托管服务器......我感谢所有尝试过的人......希望这会有所帮助

Godaddy安装提示


Ran*_*man 17

CodeIgniter应用程序的.htaccess文件中的RewriteEngine,DirectoryIndex

我刚刚更改了.htaccess文件内容,如下面的链接答案所示.并尝试刷新页面(它没有工作,并找不到我的控制器的请求)它工作.

然后,由于我的怀疑,我撤消了对我的public_html文件夹中的.htaccess所做的更改,恢复原始的.htaccess内容.所以它现在如下(最初是这样):

DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?/$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)

现在它也有效.

提示: 似乎在重写规则尚未在服务器上下文中明确设置之前.

我的文件结构如下:

/
|- gheapp
|    |- application
|    L- system
|
|- public_html
|    |- .htaccess
|    L- index.php
Run Code Online (Sandbox Code Playgroud)

index.php我已经设置了以下系统和应用程序的路径:

$system_path = '../gheapp/system';
$application_folder = '../gheapp/application';
Run Code Online (Sandbox Code Playgroud)

注意:通过这样做,我们的应用程序源代码首先对公众隐藏.

如果你们发现我的答案有任何问题,请评论并重新纠正我!
希望初学者会发现这个答案很有帮助.

谢谢!