Jump to content

mvc links curtos


ruben007
 Share

Recommended Posts

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

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 by capesone
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.