it-swarm.com.de

Codeigniter - Keine Eingabedatei angegeben

Hallo, ich bin ein Anfänger in Codeigniter und ich habe ein CI-Tutorial gesehen und wollte nur eine einfache Sache machen. Ich habe das CI heruntergeladen und diese Datei zum Controller-Verzeichnis hinzugefügt, aber es funktioniert nicht.

<?php

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

    function dosomething()
    {
        echo "Do Something";
    }   
}    
?>

Wenn ich versuche, mit http: //..../index.php/site darauf zuzugreifen, bekomme ich die Ausgabe ... "keine Eingabedatei angegeben" .... übrigens habe ich die Datei benannt site.php

84
koool

Ich habe die Antwort auf diese Frage hier gefunden ... Das Problem war das Hosting des Servers ... Ich danke allen, die es versucht haben ... Hoffe, das wird anderen helfen

Paddy-Installationstipps

37
koool

Fügen Sie einfach die hinzu? sign nach index.php in der .htaccess-Datei:

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

und es würde funktionieren!

277
Ali Mohamed

Godaddy Hosting scheint auf .htaccess fixiert zu sein, ich selbst funktioniert

RewriteRule ^(.*)$ index.php/$1 [L]

zu

RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
53
Sekar Suresh S

RewriteEngine, DirectoryIndex in der .htaccess-Datei der CodeIgniter-Apps

Ich habe gerade den Inhalt der .htaccess -Datei geändert und wie in der folgenden links answer gezeigt. Und versuchte die Seite zu aktualisieren (was nicht funktionierte und die Anfrage an meinen Controller nicht finden konnte), es funktionierte.

Nur aus Zweifelsfällen machte ich die Änderungen an meinem .htaccess in meinem public_html -Ordner wieder zum ursprünglichen .htaccess -Inhalt. So ist es jetzt wie folgt (was ursprünglich war):

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]

Und jetzt funktioniert es auch.

Hinweis: Die Rewrite-Regeln wurden offenbar im Serverkontext nicht eindeutig eingerichtet.

Meine Dateistruktur sieht wie folgt aus:

/
|- gheapp
|    |- application
|    L- system
|
|- public_html
|    |- .htaccess
|    L- index.php

Im index.php habe ich folgende Pfade zum System und zur Anwendung eingerichtet:

$system_path = '../gheapp/system';
$application_folder = '../gheapp/application';

Hinweis: Dadurch wird unser Anwendungsquellcode zunächst für die Öffentlichkeit ausgeblendet.

Bitte, wenn ihr mit meiner Antwort etwas falsch findet, kommentiere und korrigiere mich!
Hoffnung Anfänger würden diese Antwort hilfreich finden.

Vielen Dank!

17
Randika Vishman

Meine Website wird auf MochaHost gehostet. Ich hatte eine schwierige Zeit, um die .htaccess -Datei einzurichten, damit ich die index.php aus meinen URLs entfernen kann. Nach einigem Googeln kombinierte ich jedoch die Antwort in diesem Thread und andere Antworten. Meine letzte .htaccess-Datei hat folgenden Inhalt:

<IfModule mod_rewrite.c>
    # Turn on URL rewriting
    RewriteEngine On

    # If your website begins from a folder e.g localhost/my_project then 
    # you have to change it to: RewriteBase /my_project/
    # If your site begins from the root e.g. example.local/ then
    # let it as it is
    RewriteBase /

    # Protect application and system files from being viewed when the index.php is missing
    RewriteCond $1 ^(application|system|private|logs)

    # Rewrite to index.php/access_denied/URL
    RewriteRule ^(.*)$ index.php/access_denied/$1 [PT,L]

    # Allow these directories and files to be displayed directly:
    RewriteCond $1 ^(index\.php|robots\.txt|favicon\.ico|public|app_upload|assets|css|js|images)

    # No rewriting
    RewriteRule ^(.*)$ - [PT,L]

    # Rewrite to index.php/URL
    RewriteRule ^(.*)$ index.php?/$1 [PT,L]
</IfModule>
0
Winter MC