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
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
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!
GoDaddy hébergement, il semble fixé sur .htaccess
, moi-même cela fonctionne
RewriteRule ^(.*)$ index.php/$1 [L]
à
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
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!
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>