Ora boas,
O nosso objetivo é transformar o URL do nosso site, de maneira a que se torne :
https://www.url.com/product.php?id=1
torne-se nisto :
https://www.url.com/product/Samsung&20Galaxy&20S2
(Samsung Galaxy S2 sem o URL encoding)
Para isso vamos precisar de criar :
Código :
Agora no ficheiro php escrevemos o seguinte :
Código :
Agora o resultado final - vamos abrir o nosso site na localização do /product/ :
https://url.com/product/
e escrevemos algo à seguir do endereço, de maneira que fique :
https://url.com/product/Samsung Galaxy S2
Voilá ! mas...
o texto não está totalmente tal como nós iriamos querer - Samsung%20Galaxy%20S2.
Nesse caso iremos descodificar o endereço e substituímos o output por :
echo urldecode ( $pages[1] )
http://php.net/manual/pt_BR/function.urldecode.php
Respondarei à qualquer dúvida.
Espero ter ajudado a alcançar os teus resultados,
Obrigado, Vladimir.
O nosso objetivo é transformar o URL do nosso site, de maneira a que se torne :
- Mais fácil de ser lido e relembrado - amigáveis ao utilizador
- Melhor análise pelos motores de procura - SEO
https://www.url.com/product.php?id=1
torne-se nisto :
https://www.url.com/product/Samsung&20Galaxy&20S2
(Samsung Galaxy S2 sem o URL encoding)
Para isso vamos precisar de criar :
- Uma pasta com o tipo de informação - product (referente ao nome do nosso antigo ficheiro php).
- Um ficheiro php dentro do pasta referida no ponto anterior.
- um ficheiro .htaccess , no interior dessa pasta.
- root
- /product/
- /product/index.php
- /product/.htaccess
Código :
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
Agora no ficheiro php escrevemos o seguinte :
Código :
function getCurrentUri() {
$basepath = implode('/', array_slice(explode('/', $_SERVER['SCRIPT_NAME']), 0, -1)) . '/';
$uri = substr($_SERVER['REQUEST_URI'], strlen($basepath));
if (strstr($uri, '?')) $uri = substr($uri, 0, strpos($uri, '?'));
$uri = '/' . trim($uri, '/');
return $uri;
}
$url = getCurrentUri();
$pages = array();
$pages = explode('/', $url);
foreach($pages as $page)
{
if(trim($page) != '')
array_push($pages, $page);
}
echo $pages[1];
$basepath = implode('/', array_slice(explode('/', $_SERVER['SCRIPT_NAME']), 0, -1)) . '/';
$uri = substr($_SERVER['REQUEST_URI'], strlen($basepath));
if (strstr($uri, '?')) $uri = substr($uri, 0, strpos($uri, '?'));
$uri = '/' . trim($uri, '/');
return $uri;
}
$url = getCurrentUri();
$pages = array();
$pages = explode('/', $url);
foreach($pages as $page)
{
if(trim($page) != '')
array_push($pages, $page);
}
echo $pages[1];
Agora o resultado final - vamos abrir o nosso site na localização do /product/ :
https://url.com/product/
e escrevemos algo à seguir do endereço, de maneira que fique :
https://url.com/product/Samsung Galaxy S2
Voilá ! mas...
o texto não está totalmente tal como nós iriamos querer - Samsung%20Galaxy%20S2.
Nesse caso iremos descodificar o endereço e substituímos o output por :
echo urldecode ( $pages[1] )
http://php.net/manual/pt_BR/function.urldecode.php
Respondarei à qualquer dúvida.
Espero ter ajudado a alcançar os teus resultados,
Obrigado, Vladimir.