Je suis un débutant en Codeigniter et j'ai vu un tutoriel CI et j'essayais juste de faire une chose 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";
}
}
?>
Quand j'essaye d'y accéder en utilisant http: //..../index.php/site, j'obtiens la sortie ... "aucun fichier d'entrée spécifié" .... au fait, j'ai nommé le fichier site.php
codeigniter
php
koool
la source
la source
Réponses:
Ajoutez simplement 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!
la source
RewriteRule ^(.*)$ /sub-directory/index.php?/$1 [L,QSA]
Godaddy hébergeant ça semble fixe
.htaccess
, moi-même ça marcheRewriteRule ^(.*)$ index.php/$1 [L]
à
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
la source
RewriteRule ^(.*)$ /sub-directory/index.php?/$1 [L,QSA]
J'ai trouvé la réponse à cette question ici ..... Le problème était le serveur d'hébergement ... Je remercie tous ceux qui ont essayé .... J'espère que cela aidera les autres
Conseils d'installation de Godaddy
la source
RewriteRule ^(.*)$ /sub-directory/index.php?/$1 [L,QSA]
RewriteEngine, DirectoryIndex dans le fichier .htaccess des applications CodeIgniter
Je viens de changer le contenu du fichier .htaccess et comme indiqué dans la réponse des liens suivants . Et j'ai essayé d'actualiser la page (ce 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 que j'ai apportées à mon .htaccess dans mon dossier public_html pour revenir au contenu d'origine .htaccess . C'est donc maintenant comme suit (ce qui était à l'origine):
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 aussi ça marche.
Astuce: On dirait qu'avant, les règles de réécriture n'ont pas été clairement configurées dans le contexte du serveur.
Ma structure de fichiers est la suivante:
Et dans le
index.php
j'ai mis en place 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 devient d'abord caché au public.
S'il vous plaît, si vous trouvez quelque chose qui ne va pas avec ma réponse, commentez et corrigez-moi à nouveau!
J'espère que les débutants trouveront cette réponse utile.
Merci!
la source
Mon site est hébergé sur MochaHost, j'ai eu du mal à configurer le fichier .htaccess afin de pouvoir supprimer l'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 .htaccess de travail final 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>
la source