Cómo llamar a la función del controlador codeigniter sin url sin índice

Quiero llamar a la función de clase de controlador codeigniter como esta. pero esto no funciona, quiero eliminar index.php de URL

enter image description here

Con index.php esto funciona bien Cómo quitar index.php de la url?

enter image description here

Cambié

$config['index_page'] = 'index.php'; 

A

  $config['index_page'] = ''; 

pero no funcionó

Tienes que hacer dos trabajos para eliminar el index.php de la URL.

Primer trabajo:

cambió el archivo de configuración

  $config['index_page'] = 'index.php'; 

A

  $config['index_page'] = ''; 

(Que ya has hecho)

Segundo trabajo:

Tienes que agregar un archivo .htaccess en tu directorio raíz y asegurarte de que php mod_rewrite esté habilitado.

Para obtener más información, consulte los documentos de RewriteRule .

 RewriteEngine on 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] 

Solo prueba esto. Espero que funcione y déjame saber qué está pasando.

Cree el archivo .htaccess en su directorio raíz con el siguiente contenido

 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php/$0 [PT,L] 

Puede encontrar una buena lista de ejemplos usando .htaccess aquí http://www.askapache.com/htaccess/modrewrite-tips-tricks.html

Agregue este archivo .htaccess en su directorio raíz.

 RewriteEngine on 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] 

Prueba este código Gracias.

Cree el archivo htaccess en la siguiente ubicación si está utilizando xampp

“htdocs / codeigniter / .htaccess”

y luego poner contenido htaccess

El cambio a $config['index_page'] era correcto, pero necesita 1 cosa más que hacer:

Debe usar un archivo .htaccess en su directorio raíz codeigniter que reordena todas las llamadas al archivo index.php sin la necesidad de tener index.php en la barra de direcciones

Mi archivo se ve así:

  RewriteEngine On RewriteBase / ### Canonicalize codeigniter URLs # If your default controller is something other than # "welcome" you should probably change this RewriteRule ^(welcome(/index)?|index(\.php)?)/?$ / [L,R=301] RewriteRule ^(.*)/index/?$ $1 [L,R=301] # Removes trailing slashes (prevents SEO duplicate content issues) RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)/$ $1 [L,R=301] # Enforce www # If you have subdomains, you can add them to # the list using the "|" (OR) regex operator RewriteCond %{HTTP_HOST} !^(www|subdomain) [NC] RewriteRule ^(.*)$ http://www.YOURSITE.COM/$1 [L,R=301] # Enforce NO www #RewriteCond %{HTTP_HOST} ^www [NC] #RewriteRule ^(.*)$ http://YOURSITE.COM/$1 [L,R=301] ### # Removes access to the system folder by users. # Additionally this will allow you to create a System.php controller, # previously this would not have been possible. # 'system' can be replaced if you have renamed your system folder. RewriteCond %{REQUEST_URI} ^system.* 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]   # Without mod_rewrite, route 404's to the front controller ErrorDocument 404 /index.php  

Este archivo también redirige todas las llamadas que no sean de www (como YOURSITE.com a YOURSITE.com . También puede hacerlo de otra manera, luego debe comentar las partes (con un # ) y desaconsejar la parte que se encuentra debajo.

También mejora las URL (URL canocalizada). si echa un vistazo a las siguientes URL:

 /category /category/index /category/index/ 

Son 3 urls para la misma función en el mismo controlador. Con el .htaccess proporcionado anteriormente, la URL será

 /category 

Otra cosa importante a tener en cuenta: para los controladores con un método de index que toma cualquier tipo de parámetro, estas URL seguirán funcionando como tales:

 /welcome/index/123 /category/index/123