ruben007 Posted May 23, 2015 Report Share Posted May 23, 2015 Alguém me consegue explicar como posso fazer o meu url de isto: localhost/test_mvc/index.php?path=user para: localhost/test_mvc/user Eu sei que tenho que alterar a página htacess, mas não percebo muito bem disto, será que me podiam ajudar? Tenho que ter algum tipo de classe? e que classe? Link to comment Share on other sites More sharing options...
capesone Posted May 25, 2015 Report Share Posted May 25, 2015 (edited) Pesquisa sobre o ModRewrite em especifico. Depois para ler os Gets usas a mesma forma tradicional. RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-f #condiciona ficheiros RewriteCond %{SCRIPT_FILENAME} !-d #condiciona directorios RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|css)$ [NC] #condiciona extençoes de ficheiros RewriteRule ^/ajx$ /dir/file.php [L] #Previne conflito com o ajax, em conjunto com um if adicionado a baixo RewriteRule ^/adm/(.*)$ /adm_dir/index.php?geter=$1 [L] #Previne que o directorio de adminstraçao esteja a ser enviado para o index normal do site RewriteRule ^([^/]+)/(.*)$ index.php?action=$1&parm=$2 [L] #Reescreve todo o outro conteudo que nao seja identificado acima. Para carregar por exemplo uso uma pequena funcao: function start(){ loader::data_get(); #qual area a carregar? loader::patch_b(); #constroi patchs a carregar #verifica se é ajax if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { require_once('processer.php'); }else{ #se ficheiro do tema existir, entao carrega-o if(file_exists($this->patch_loader['t_file'])) $this -> p_layout = require_once($this->patch_loader['t_file']); else $this->error = "O ficheiro de temas não foi encontrado!<br/>"; } } function data_get(){ #accao if(isset($_GET['action'])){ $this -> action=$_GET['action']; if(empty($this -> action) || $this -> action == null || $this -> action == "") $this -> action = "home"; }else $this -> action="home"; #parametros if(isset($_GET['parm'])){ $this -> parms = explode("/", $_GET['parm']); foreach($this -> parms as $key => $value){if(empty($value) || $value == null || $value=="") unset($this -> parms[$key]);} }else $this -> parms = null; } Nao te esqueças de adaptar para as tuas necessidades. Edited May 25, 2015 by capesone Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now