htaccess - remove index.php codeigniter 3
CodeIgniter 500 Internal Server Error (8)
Descargué un script PHP escrito usando CodeIgniter. cuando lo ejecuto desde el host local, yendo a la carpeta de administración, muestra localhost nuevamente. También cuando se ejecuta desde mi servidor web, muestra un error interno del servidor 500.
Ejecuto el sitio desde http: // localhost / myproj Funciona. Luego, cuando trato de ir a la página de administración que está en http: // localhost / myproj / administrator , da un 500 Internal Server Error.
Leí aquí que esto podría deberse a un código incorrecto en el archivo .htaccess. Este es mi archivo .htaccess actual
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
Por favor, ayúdame. Sé que podría ser un problema muy pequeño, pero no puedo encontrar el error.
Cada vez que ejecuto CodeIgniter en un subdirectorio, configuro RewriteBase
. Intente configurarlo como /myproj/
lugar de /
.
El problema con 500 errores (con CodeIgniter), con diferentes configuraciones de apache, muestra 500 error cuando hay un error con la configuración de PHP.
Así es cómo puede desencadenar el error 500 con CodeIgniter:
- Error en el script (configuraciones incorrectas de PHP, paquetes faltantes, etc.)
- PHP "Errores fatales"
Por favor revisa tus registros de error de apache, debería haber alguna información interesante allí.
Está intentando eliminar index.php de la URL de su sitio, ¿correcto?
Intenta configurar tu $config[''uri_protocol'']
en REQUEST_URI
lugar de AUTO
.
Esto probablemente ya no es relevante para este hilo, pero espero que sea útil para alguien. He tenido 500 errores durante la última hora, ya que tuve un controlador que devolvía una matriz que no era compatible con la versión de php ejecutada en mi servidor (de mierda). Parece trivial pero tenía las características de un error codeigniter.
Tuve que usar:
class emck_model extends CI_Model {
public function getTiles(){
return array(...);
}
}
En lugar de
class emck_model extends CI_Model {
public function getTiles(){
return [...];
}
}
Aclamaciones
Sé que llego tarde, pero esto ayudará a alguien.
Compruebe si el motor de reescritura está habilitado .
De lo contrario, habilite reescribir el motor y reiniciar el servidor.
sudo a2enmod rewrite
sudo service apache2 restart
Solo en caso de que alguien más se tope con este problema, heredé un proyecto CodeIgniter anterior y tuve muchos problemas para que se instalara.
Perdí un montón de tiempo tratando de crear una instalación local del sitio y probé todo. Al final, la solución fue simple.
El problema es que las versiones anteriores de CodeIgniter (como 1.7 y siguientes) no funcionan con PHP 5.3. La solución es cambiar a PHP 5.2 o algo más antiguo.
eliminar comentario en httpd.conf (archivo de configuración de apache):
LoadModule rewrite_module modules/mod_rewrite.so
if The wampserver Version 2.5 luego cambia la configuración de apache como
httpd.conf (archivo de configuración de apache): de
#LoadModule rewrite_module modules/mod_rewrite.so**
Para, eliminar el #
LoadModule rewrite_module modules/mod_rewrite.so**
esto funciona bien para mí