rewriterule quitar index htaccess example con php .htaccess codeigniter

quitar - Eliminar index.php de URL-Codeigniter 2



remap codeigniter example (7)

Tengo problemas para eliminar index.php de mis URL en Codeigniter. He creado algunos sitios web con Codeigniter 1.7 y el código .htaccess que utilicé no funciona en 2.

He intentado usar

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

y

<IfModule mod_rewrite.c> RewriteEngine on RewriteCond $1 !^(index/.php|images|robots/.txt|css) RewriteRule ^(.*)$ ./index.php/$1 [L] </IfModule>

También lo probé sin RewriteBase / in.

Cambié $ config [''uri_protocol''] a REQUEST_URI y QUERY_STRING y nada.

He configurado $ config [''index_page''] = "";

La estructura del archivo es 192.168.0.130/(site)/, por lo que debe estar volviendo a la raíz del servidor y no puede encontrar el archivo index.php.

Se puede acceder a todos los controladores que he creado poniendo 192.168.0.130/(site)/index.php/testcontroller

Gracias.

Disculpas si esto se ha preguntado antes: he buscado y probado lo que pude ver.

Editar:

También debería agregar que cambié las carpetas predeterminadas para ser

solicitud

CI-2.0

index.php

y cambió las rutas en index.php para ser correcto.


1) Cree un archivo .htaccess en su carpeta raíz

RewriteEngine on RewriteCond $1 !^(index/.php|resources|robots/.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA]

2) Editar el archivo application / config / config.php en la carpeta de la aplicación

$config[''base_url''] = ''http://localhost/projectName''; $config[''index_page''] = ''''; // remove index.php

espero que funcione para ti


Después de seguir todas las instrucciones de otras personas y de esta documnetación de la URL de CodeIgnitor , no olvide reiniciar el servidor . Simplemente me olvidé de hacer eso y seguí probando todas las demás soluciones.


Esto funcionó para mí:

  1. Crea tu archivo htaccess
  2. Establezca $ config [''index_page''] en un vacío (config.php)
  3. string Set $ ​​config [''uri_protocol''] = ''REQUEST_URI''; (config.php)

Este es mi archivo htaccess:

Options -Indexes Options +FollowSymLinks

RewriteEngine On RewriteBase / #Removes access to the system folder by users. #Additionally this will allow you to create a System.php controller, RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$ index.php?/$1 [L] #When your application folder isn''t in the system folder RewriteCond %{REQUEST_URI} ^application.* RewriteRule ^(.*)$ /index.php?/$1 [L] #Checks to see if the user is attempting to access a valid file, #such as an image or css document, if this isn''t true it sends the #request to index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [L]

# If we don''t have mod_rewrite installed, all 404''s # can be sent to index.php, and everything works as normal. # Submitted by: ElliotHaughin ErrorDocument 404 /index.php

Fuente:

http://taggedzi.com/articles/display/codeigniter-2-htaccess-and-friendly-urls


Estuve en esto durante 2 días. Probé todo lo posible. Acabo de decir que necesitas lo siguiente:

TIPO:

sudo nano /etc/apache2/sites-available/default

Y cambie AllowOverride None por AllowOverride All: esto le dará acceso a sus archivos .htaccess

<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all # Uncomment this directive is you want to see apache2''s # default start page (in /apache2-default) when you go to / #RedirectMatch ^/$ /apache2-default/ </Directory>

Y también habilite la reescritura mod en Apache:

http://.com/questions/3131236/how-do-you-enable-mod-rewrite

Espero que esto ayude, Mário


Pruebe el primer bloque de código que publicó, pero en lugar de /index.php intente usar /(site)/index.php (obv reemplazando (sitio) con el nombre de la carpeta de su sitio).


Solo necesita agregar el código siguiente en .htacess.

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


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

Esto solo es necesario en la carpeta raíz. Agregue esto a .htaccess