Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

539
Vistas
Error 404 en servidor Apache con codeigniter

Es la primera vez que subo el proyecto codeigniter a producción y recibo el error 404 del servidor Apache.

error: No encontrado La URL solicitada /index.php no se encontró en este servidor. Apache/2.4.18 (Ubuntu) Servidor en roy.my-domain.com Puerto 80

He leído todos los artículos durante 2 días y no encontré una solución....

Así que aquí están mis configuraciones:

Se verificó el mod de reescritura en Apache: obtuve "Reescritura del módulo ya habilitada" Mi proyecto está en /var/www/roy/ , por lo que la URL es roy.my-domain.com/roy

  1. Apache2.conf

     <Directory /var/www/html/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> AccessFileName .htaccess
  2. .htaccess

     <IfModule mod_rewrite.c> RewriteEngine on RewriteBase /roy/ RewriteRule ^([a-z0-9_-]+)\.html$ index.php/page/$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^(index\.php|asset|robots\.txt) RewriteRule ^(.*)$ index.php/$1 [L] </IfModule>
  3. config.php

     $config['base_url'] = 'http://'.$_SERVER['HTTP_HOST'].'/roy/'; $config['index_page'] = '';
  4. autoload.php (estoy usando Twig)

     $autoload['libraries'] = array('database','session','twig');
    • Agregué permisos tanto a los registros como al directorio de caché.
  5. La estructura de los controladores

     name Login.php - class Login extends CI_Controller
about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Cree una carpeta de site dentro de su html . Luego, coloque su sitio roy allí. Entonces, lo haría de esta manera:

1 - apache2/sitios habilitados/roy.mi-dominio.com.conf

 <VirtualHost roy.my-domain.com:80> DocumentRoot /var/www/html/site ServerName roy.my-domain.com <Directory /var/www/html/site> Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>

2 - .htaccess

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

3 - Si no es desarrollo, nunca es una buena práctica usar el $_SERVER['HTTP_HOST'] . Se puede cambiar desde el lado del cliente. Solo usa la URL correcta.

Después de que hayas hecho todo eso, reinicia Apache. En Ubuntu es: $ sudo service apache2 restart

about 4 years ago · Santiago Trujillo Denunciar

0

Supongo que su archivo .htaccess está en el subdirectorio /roy .

Dado que está utilizando la información de la ruta (es decir, /index.php/<path-info> en la URL para enrutar la solicitud, es posible que AcceptPathInfo esté deshabilitado en el servidor. Si está deshabilitado, dicha solicitud resultaría en un 404.

Entonces, intente habilitar esto en la parte superior de su archivo .htaccess :

 AcceptPathInfo On
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda