Question

J'ai téléchargé un script PHP écrit avec CodeIgniter.lorsque je l'exécute à partir de l'hôte local, en allant dans le dossier admin, il affiche à nouveau localhost.De plus, lors de l'exécution à partir de mon hôte Web, il affiche une erreur de serveur interne 500.

Je lance le site depuis http:// localhost / myproj Cela fonctionne.Ensuite, lorsque j'essaye d'accéder à la page d'administration qui se trouve à http:// localhost / myproj / administrator , cela donne une erreur de serveur interne de 500.

J'ai lu ici que cela pourrait être dû à un code erroné dans le fichier .htaccess.Ceci est mon fichier .htaccess actuel

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ $1 [L,R=301]

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]

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

# Without mod_rewrite, route 404's to the front controller
ErrorDocument 404 /index.php

Aidez-moi.Je sais que c'est peut-être un très petit problème, mais je ne parviens pas à trouver l'erreur.

Était-ce utile?

La solution

Le problème avec 500 erreurs (avec CodeIgniter), avec différents paramètres Apache, il affiche 500 erreurs lorsqu'il y a une erreur avec la configuration PHP.

Voici comment cela peut déclencher une erreur 500 avec CodeIgniter:

  1. Erreur dans le script (mauvaise configuration PHP, packages manquants, etc ...)
  2. "Erreurs fatales" PHP

Veuillez vérifier vos journaux d'erreurs Apache, il devrait y avoir des informations intéressantes.

Autres conseils

Juste au cas où quelqu'un d'autre tomberait sur ce problème, j'ai hérité d'un ancien projet CodeIgniter et j'ai eu beaucoup de mal à l'installer.

J'ai perdu beaucoup de temps à essayer de créer une installation locale du site et j'ai tout essayé.En fin de compte, la solution était simple.

Le problème est que les anciennes versions de CodeIgniter (comme 1.7 et inférieurs) ne fonctionnent pas avec PHP 5.3.La solution est de passer à PHP 5.2 ou à une version plus ancienne.

Vous essayez de supprimer index.php de l'URL de votre site, n'est-ce pas?

Essayez de définir votre $config['uri_protocol'] sur REQUEST_URI au lieu de AUTO.

supprimer le commentaire dans httpd.conf (fichier de configuration apache):

LoadModule rewrite_module modules/mod_rewrite.so 

Try this to your .htaccess file:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule >

Whenever I run CodeIgniter in a sub directory I set the RewriteBase to it. Try setting it as /myproj/ instead of /.

This probably isn't relevant any more to this thread, but hopefully helpful to somebody. I've had 500 errors for the past hour as I had a controller return an array not supported by the php version ran on my (crappy) server. Seems trivial but had the hallmarks of a codeigniter error.

I had to use:

class emck_model extends CI_Model {

    public function getTiles(){

        return array(...);

    }

} 

Instead of

class emck_model extends CI_Model {

    public function getTiles(){

        return [...];

    }

}

Cheers

I know I am late, but this will help someone.

Check if rewrite engine is enabled.

If not, enable rewrite engine and restart server.

sudo a2enmod rewrite
sudo service apache2 restart

if The wampserver Version 2.5 then change apache configuration as

httpd.conf (apache configuration file): From

#LoadModule rewrite_module modules/mod_rewrite.so** 

To ,delete the #

LoadModule rewrite_module modules/mod_rewrite.so** 

this working fine to me

This works fine for me

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule >

Make sure your root index.php file has the correct permission, its permission must be 0755 or 0644

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top