Mis URL actuales se ven así [mysite]index.php/[rest of the slug]
.
Quiero despojarme index.php
de estas URL.
mod_rewrite
está habilitado en mi servidor apache2. en config
,$config['index_page'] = '';
Mi .htaccess
archivo raíz codeignitor contiene,
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
Pero aún así no está funcionando. ¿A dónde me estoy yendo mal?
php
.htaccess
codeigniter
apache2
Nihar Sarangi
fuente
fuente
Respuestas:
Intenta lo siguiente
Abra config.php y realice los siguientes reemplazos
a
En algunos casos, la configuración predeterminada para
uri_protocol
no funciona correctamente. Solo reemplacepor
.htaccess
Nota: el código .htaccess varía según el servidor de alojamiento. En algunos servidores de alojamiento (por ejemplo: Godaddy) ¿necesita usar un extra? en la última línea del código anterior. La siguiente línea será reemplazada por la última línea en el caso aplicable:
fuente
RewriteRule ^(.*)$ index.php/$1 [L]
pero aún puedo ver la página en ambos sentidos: dominio.com/about-us, dominio.com/index.php/about-us y dominio.com/index.php?/about-us que generan Error de SEO, es decir, etiqueta de título duplicada y meta descripción duplicada$_POST
oisset($_POST)
no funciona después de agregar esto.Paso: -1 Abra la carpeta "application / config" y abra el archivo "config.php". busque y reemplace el siguiente código en el archivo config.php.
Paso: -2 Ve a tu carpeta CodeIgniter y crea .htaccess
Paso: -3 Escribe el siguiente código en el archivo .htaccess
Paso: -4 En algunos casos, la configuración predeterminada para uri_protocol no funciona correctamente. Para resolver este problema, simplemente abra el archivo "application / config / config.php", luego busque y reemplace el siguiente código
Eso es todo, pero en el servidor wamp no funciona porque rewrite_module está deshabilitado de forma predeterminada, por lo que debemos habilitarlo. para esto haz lo siguiente
Documentación original
Enlace de ejemplo
fuente
Paso 1 :
Agregue esto en el archivo htaccess
Paso 2 :
Eliminar index.php en la configuración de codeigniter
Paso 3 :
Permitir anular htaccess en la configuración de Apache (comando)
y edite el archivo y cambie a
para la carpeta www
Paso 4 :
Habilitado reescribir mod de apache (comando)
Paso 5:
Reiniciar Apache (comando)
fuente
utilizar
si tiene URL en este orden site.com/index.php/class/method/id
fuente
RewriteRule .* index.php/$1 [PT,L]
- esto no pasará la ruta URL a menos que cambie elRewriteRule
patrón de.*
a(.*)
. Sin embargo, si está utilizando$config['uri_protocol'] = 'REQUEST_URI';
, esto es irrelevante de todos modos.fuente
en su htaccess use esto,
Espero que esto ayude.
fuente
Hay dos pasos:
1) Editar config.php
A
2) Crear / Editar archivo .htaccess
fuente
hacer un
.htaccess
archivo y poner este códigocambio
eliminar
index.php
presente en elconfig.php
archivofuente
1.Cree un nuevo archivo .htaccess en el directorio raíz.
2. Vaya a su archivo config.php y cambie de
$config['index_page'] = 'index.php'
a$config['index_page'] = ''
fuente
Lo resolvió con 2 pasos.
fuente
prueba este. Puede ayudarte, ya que me está funcionando
ponga el código en su archivo raíz htaccess. y asegúrese de tener
en tu archivo de configuración.
Avísame si tienes algún problema.
fuente
Mire estos videos como referencia https://www.youtube.com/watch?v=HFG2nMDn35Q
fuente
Bueno, todas estas respuestas son buenas, pero para un novato (que se hace por primera vez) son confusas. Hay otros archivos htaccess que residen en el controlador, pero tenemos que editar o agregar htaccess en la carpeta principal del proyecto.
Esta es su carpeta codeigniter, donde reside el archivo como aplicación, sistema, activos, cargas, etc.
Cambie este archivo como está escrito a continuación:
y sí, por supuesto, debe cambiar dos líneas de código en la aplicación / config / config.php
fuente
Desarrollo y producción.
fuente
en primer lugar, debe hacerlo en el motor de reescritura del servidor apache. Este enlace lo ayudará para eso
http://www.anmsaiful.net/blog/php/enable-apache-rewrite-module.html
Este será su archivo .htaccess. ahora inténtalo. Esta configuración funciona para mí.
fuente
puede ir al archivo config \ config.php y eliminar el valor index.php de esta variable
cree el archivo .htaccess y pegue este código en él.
Buena oportunidad
fuente
fuente
Solo se requieren tres pasos para eliminar index.php de la url en Codeigniter
1) Cree un archivo .htacess en paralelo al titular de la aplicación y simplemente copie el código siguiente:
2) Cambie $ config ['index_page'] en blanco en config.php en la carpeta de la aplicación como se muestra a continuación:
3) Habilite "rewrite_module" de apache.
Reinicia tu apache y listo.
Detalles: http://sforsuresh.in/removing-index-php-from-url-of-codeigniter-in-wamp/
fuente
Creo que su configuración es buena, pero está haciendo que extravíe su archivo htaccess, vaya y agregue su htaccess a su archivo de proyecto
carpeta_proyecto-> htaccess
y agregue este código a su htaccess
fuente
puedes ir al archivo application \ config \ config.php y eliminar index.php
Cambiar a
fuente
prueba este RewriteEngine On
fuente
Esto funciona para mi. Probado en codeigniter 3.1.11, PHP 5.6.40 Uso un host virtual en mi configuración apache2 en el servidor de prueba.
Y /.htaccess contenido
fuente
Siga estos pasos, su problema se resolverá
1- Descargue el archivo .htaccess desde aquí https://www.dropbox.com/s/tupcu1ctkb8pmmd/.htaccess?dl=0
2- Cambie el nombre del directorio CodeIgnitor en la Línea # 5. como mi nombre de directorio es abc (agregue su nombre)
3- Guarde el archivo .htaccess en el directorio principal (abc) de su carpeta codeignitor
4- Cambie uri_protocol de AUTO a PATH_INFO en el archivo Config.php
Nota: en primer lugar, debe habilitar mod_rewrite desde httpd.conf de apachi eliminando los comentarios
fuente
Usa este código. Cambie la segunda línea ya que tiene el nombre de su carpeta. Donde el archivo index.php y la aplicación de carpetas, se encuentra la carpeta del sistema. La mayoría de los problemas ocurren debido a la segunda línea. no configuramos el nombre de la carpeta donde se ubica el proyecto. Importante es la 2da línea. Esto es simple para eliminar el index.php. RewriteEngine en RewriteBase / project_folder_name RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule. * Index.php / $ 0 [PT, L]
Vaya al archivo controller / config.php.
config ['index_url'] = '';
Referencia para más estudio.
https://ellislab.com/expressionengine/user-guide/urls/remove_index.php.html
https://ellislab.com/blog/entry/fully-removing-index.php-from-urls
fuente
Además de estas respuestas, uno puede simplemente agregar index.php o editarlo (si ya está allí); por seguridad, desea deshabilitar index.php de todos modos, al enumerar los archivos en el directorio de su sitio web, luego cambiar el contenido a
fuente
Cosa menor: (Opcional)
Una cosa crítica a tener en cuenta:
Mi script de archivo vhosts: (Antes)
Mi script de archivo vhosts: (Después)
Enfrenté el mismo problema, luché por alrededor de 1 día, todo estuvo bien. Más tarde, por método de prueba y error, encontré esto. Después de eliminar esto, mi trabajo se realizó. La URL ahora no busca index.php :)
fuente
si toda la solución anterior no funciona, en la carpeta de su proyecto habrá dos archivos index.html e index.php, cambie el nombre de index.html a index_1.html y explore su proyecto.
fuente
Tenga en cuenta la diferencia con el agregado "?" carácter después de ".php", especialmente cuando se trata de CodeIgniter:
vs.
Depende de varias otras cosas ... si no funciona, ¡pruebe la otra opción!
fuente
Puede eliminar index.php de la url colocando algún código en .htaccess
Ruta del archivo: raíz> .htacess
Espero que funcione.
fuente
En CodeIgniter 3.16 al usar htaccess para
& además
Los siguientes son los códigos:
application\config\config.php
archivoHacer cambios
A
fuente