Hola tengo una pequeña aplicacion con el patron mvc el cual me lanza las url de la siguiente manera:
http://localhost/sitio/controller/metodo/parametros
cuando ingreso al primer controller llama al primer metodo que es index entonces la url queda así:
http://localhost/sitio/blog/index/
ahora hice el sitio multilenguaje por lo que la url cambia a:
http://localhost/sitio/blog/index/es
lo que necesito es que el metodo index de la url no aparesca solo que muestre:
http://localhost/sitio/blog/es o
http://localhost/sitio/es/blog, no se cual forma seria la mejor o más correcta.
este es mi archivo que lanza las url:
Código PHP:
Ver original<?php
class Request
{
private $_modulo;
private $_controlador;
private $_metodo;
private $_argumentos;
private $_modules;
public function __construct()
{
if (isset($_GET['url'])) {
/* modulos de la app */
$this->_modules
= array('usuarios','admin');
if (!$this->_modulo) {
$this->_modulo = false;
} else {
if (count($this->_modules
)) { if (!in_array($this->_modulo
, $this->_modules
)) { $this->_controlador = $this->_modulo;
$this->_modulo = false;
} else {
if (!$this->_controlador) {
$this->_controlador = 'index';
}
}
} else {
$this->_controlador = $this->_modulo;
$this->_modulo = false;
}
}
$this->_argumentos = $url;
}
if (!$this->_controlador) {
$this->_controlador = DEFAULT_CONTROLLER;
}
if (!$this->_metodo) {
$this->_metodo = 'index';
}
if (!isset($this->_argumentos
)) { $this->_argumentos
= array(); }
}
public function getModulo()
{
return $this->_modulo;
}
public function getControlador()
{
return $this->_controlador;
}
public function getMetodo()
{
return $this->_metodo;
}
public function getArgs()
{
return $this->_argumentos;
}
}
y este mi .htaccess
Código:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
Alguien con alguna idea de como solucionar esto, gracias...