Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Tarde Amigos,
Preciso fazer arrumar o site aqui do trampo, e quero deixar a URL "bonitinha" !
Atualmente ela esta assim:
http://www.site.com.br/quem-somos.php
Gostaria que ela ficasse assim:
http://www.site.com.br/quem-somos
Já tentei configurar o htaccess, porém sem sucesso, alguém poderia me ajudar de uma forma prática me dando uma solução para meu problema ?
Obrigado ! :natalbiggrin:
Você deve estudar .HTACCESS, vou ainda estou no começo desse estudo, mas já consegui fazer alguma coisa.
1º você cria o .htaccess que é um arquivo que só possui esta extenção ele não tem nome, no meu caso está assim:
ele precisa ficar na raiz do site
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1
Procura na net que você achará muita coisa falando sobre ele, aqui mesmo no forum um vez deixaram para mim uma aula completa.
no index, você recupera o valor da url passada, assim
$url = $_GET['url'];
$urlE = explode("/", $url);
$arquivos = $urlE[0];
$post = $urlE[1];
$paginas = array('home','quem-somos','servicos','estrutura-metalica','manutencao-predial-residencial','construcao-civil','clientes','fale-conosco', 'manutencao', 'pintura');
include_once("header.php");
if(isset($arquivos) && in_array($arquivos, $paginas)){
include "nav/$arquivos.php";
} else if(isset($arquivos) && $arquivos == ''){
include 'nav/home.php';
}Irei tentar, funciona em LOCALHOST ?
>
Irei tentar, funciona em LOCALHOST ?
sim, mas na configuração você precisa dizer ao php onde ele irá buscar a configuração, exemplo:
// conexão
$servidor = 'localhost';
$usuario = 'root';
$senha = '';
$db = 'urlamigavel';
$urlBase = 'http://localhost/jbmanutencao';
// no menu
<li><a href="<?php echo $urlBase; ?>/quem-somos" title="sdfsdfdsaf">Quem Somos</a></li>
+- isso
Marcos, funcionou Cara.
Meu .HTACCESS ficou assim então:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Você poderia me explicar cada linha por favor ?
PHP
<?php
$urlBase = 'http://localhost/bruno';
?>
HTML
<li>
<a href="<?php echo $urlBase; ?>/quem-somos" title="URL Amigável">Quem Somos</a>
</li>>
Marcos, funcionou Cara.
Meu .HTACCESS ficou assim então:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Você poderia me explicar cada linha por favor ?
PHP
<?php
$urlBase = 'http://localhost/bruno';
?>
HTML
<li>
<a href="<?php echo $urlBase; ?>/quem-somos" title="URL Amigável">Quem Somos</a>
</li>
Na urlbase é onde pegará o arquivo, aqui estou dizendo para pegar em localhost o arquivo quem-somos, quando você colocar no servidor você colocar o endereço, www-seu-site.com.br
é isso
agora veja bem, o assunto é bem amplo, caso você vá pegar as informações no BD a lógica é a mesma, mas muda algumas coisas na estrutura.
Legal, e no .HTACCESS o que seria cada linha ?
A primeira linha linha é para ativar o módulo.
A segunda e terceira linha é para ignorar arquivos e diretorios respectivamente
A última linha joga a string para o php lê.
não entendi essa linha mano,
RewriteRule ^(.*)$ $1.php
estaria escrevendo uma nova regra certo ?
para que serve esse "1" ? tentei tirar e deu erro ..
>
não entendi essa linha mano,
RewriteRule ^(.*)$ $1.php
estaria escrevendo uma nova regra certo ?
para qye serve esse "1" ? tentei tirar e deu erro ..
No seu caso aí, ñ sei o q você quis fazer, mas no caso abaixo é assim:
estou dizendo para o php que no arquivo index.php ele irá receber o valor que será passado ($1 qualquer valor) para a variável url.
index.php?url=$1
entendi, correto !
Vlw resolvido ! :thumbsup:
>
não entendi essa linha mano,
RewriteRule ^(.*)$ $1.php
estaria escrevendo uma nova regra certo ?
para que serve esse "1" ? tentei tirar e deu erro ..
Bom no caso ae $1 é tipo uma variável... <qualquerCoisa>.php
O que a regra diz é quando você digitar algo como:
http://www.site.com.br/quem-somos
ele vai direcionar para
http://www.site.com.br/quem-somos.php
Qualquer coisa que você digitar na url ele vai adicionar .php no final.
Hum, agora entendi perfeitamente,
Obrigado Man !
Este código é apenas um exemplo para resolver seu problema conforme você escreveu la em cima.
Mais recomendo que pesquise na internet outros exemplos de como gerenciar URLs amigáveis.
O exemplo do Marcos Barbosa já eh um melhor que esse que eu falei.
>
Este código é apenas um exemplo para resolver seu problema conforme você escreveu la em cima.
Mais recomendo que pesquise na internet outros exemplos de como gerenciar URLs amigáveis.
O exemplo do Marcos Barbosa já eh um melhor que esse que eu falei.
Tem que pesquisar e estudar, pois quando se trata de banco de dados, tipo www.seusite.com.br/bolsa-cor-de-rosa
você trata isso antes.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php