Tengo lo siguiente:
Virtual Host
http://www.miapp.cl/
Document Root
c:\wamp\www\miapp\public\
Tengo un .htaccess en la raiz o sea en c:\wamp\www\miapp\ que redirecciona a public RewriteRule ^$ public/ [L]
otro .htaccess en el directorio public con estas reglas
Código:
La idea de esto es tener URL's amigables o sea pasar de esto "index.php?controlador=items&action=actualizar&id= 3" a esto /items/actualizar/3/<IfModule mod_rewrite.c> RewriteEngine on ReWriteCond %{REQUEST_FILENAME} !-f ReWriteCond %{REQUEST_FILENAME} !-d RewriteRule !\.(js|ico|gif|jpg|png|css)$ /index.php #Change /index.php?controlador=auth&action=login to /auth/login ReWriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d ReWriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f ReWriteRule ^/([^/]*)/([^/]*)$ /index.php?controller=$1&action=$2 [L,QSA] #Change /index.php?controlador=items&action=actualizar&id=3 to /items/actualizar/id/ ReWriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d ReWriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f ReWriteRule ^/([^/]*)/([^/]*)/([^/]*)$ /index.php?controller=$1&action=$2&id=$3 [L,QSA] #Change /index.php?controlador=items&action=actualizar&id=3&mode=editar to /items/actualizar/id/mode/ ReWriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d ReWriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f ReWriteRule ^/([^/]*)/([^/]*)/([^/]*)/([^/]*)$ /index.php?controller=$1&action=$2&id=$3&mode=$4 [L,QSA] </IfModule>
pero cuando lo hago me aparece esto http://www.miapp.cl/auth/login/index...h&action=login que esta mal.
Otra cosa en PHP hay que hacer algo para trabajar con esa URL y extraer de ahi el controlador, la accion y el o los parametros.
Saludos