web-dev-qa-db-fra.com

Codeigniter - aucun fichier d'entrée spécifié

Bonjour, je suis un débutant en Codeigniter. J'ai assisté à un tutoriel sur l'IC et j'essayais simplement de faire quelque chose de simple. J'ai téléchargé le CI et ajouté ce fichier au répertoire du contrôleur, mais cela ne fonctionnera pas.

<?php

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

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

Lorsque j'essaie d'y accéder avec http: //..../index.php/site je reçois le résultat ... "pas de fichier d'entrée spécifié" ... au fait, j'ai nommé le fichier site.php

84
koool

J'ai trouvé la réponse à cette question ici ..... Le problème était un serveur d'hébergement ... Je remercie tous ceux qui ont essayé .... J'espère que cela aidera les autres

Conseils d'installation de Godaddy

37
koool

Il suffit d'ajouter le? signe après index.php dans le fichier .htaccess:

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

et ça marcherait!

277
Ali Mohamed

GoDaddy hébergement, il semble fixé sur .htaccess, moi-même cela fonctionne

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

à

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

RewriteEngine, DirectoryIndex dans le fichier .htaccess des applications CodeIgniter

Je viens de changer le contenu du fichier .htaccess et comme indiqué dans le links answer suivant. Et essayé d'actualiser la page (qui n'a pas fonctionné, et n'a pas pu trouver la demande à mon contrôleur) cela a fonctionné.

Puis, juste à cause de mon doute, j'ai annulé les modifications apportées à mon .htaccess dans mon dossier public_html afin de le ramener au contenu original .htaccess. Donc, il est maintenant comme suit (ce qui était à l'origine c'était):

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]

Et maintenant ça marche aussi.

Astuce: On dirait qu'avant, les règles de réécriture n'étaient pas clairement définies dans le contexte du serveur.

Ma structure de fichier est la suivante:

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

Et dans le index.php, j'ai configuré les chemins suivants vers le système et l'application:

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

Remarque: ce faisant, le code source de notre application est d'abord masqué par le public.

S'il vous plaît, si vous trouvez quelque chose qui ne va pas dans ma réponse, commentez et corrigez-moi!
J'espère que les débutants trouveront cette réponse utile.

Merci!

17
Randika Vishman

Mon site est hébergé sur MochaHost, j'ai eu du mal à configurer le fichier .htaccess afin de pouvoir supprimer le fichier index.php de mes URL. Cependant, après quelques recherches sur Google, j'ai combiné la réponse sur ce fil et d'autres réponses. Mon fichier de travail final .htaccess a le contenu suivant:

<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