Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Editar htaccess para criar endereços URL amigáveis
SEÇÕES
Manuais relacionados
+Editar htaccess para criar endereços URL amigáveis
Categorias
+Apache

Índice do Manual Editar htaccess para criar endereços URL amigáveis
+ Introdução a .htaccess e às URLs amigáveis a buscadores
+ Redirecionamento de URLs a buscadores para URLs com passo de parâmetros
+ Exemplo mais complexo de RewriteRule
+ Não ter duas URL com os mesmos conteúdos
+ Redirecionamentos cíclicos com .htaccess
+ Mudança de URL redirecionamento 301 com .htaccess

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Não ter duas URL com os mesmos conteúdos

Se utilizarmos htaccess deveremos prestar especial atenção a não ter duas páginas, com URLs distintas, que tenham exatamente o mesmo conteúdo.


Um dos problemas que podemos encontrar derivados do uso de htaccess para criar URLs amistosas a buscadores é o caso de que distintas URLs mostrem exatamente as mesmas informações.

Pelo visto, ter em um domínio duas páginas com os mesmo conteúdos não está bem visto pelos motores de busca, que podem considerá-lo uma trapaça encaminhada para lhe confundir e fazer pensar que o site é maior do que realmente é.

Como pode ser que duas páginas tenham os mesmo conteúdos?

Por exemplo, pensemos em uma regra como esta:

RewriteRule ^artigos/(.+)\.php codigo/ver_artigo.php?nome=$1

Isto quer dizer que existirão URLs como estas:

www.dominio.com/artigos/plantas-decorativas.php
www.dominio.com/artigos/plantas-medicinais.php
www.dominio.com/artigos/plantas-aromaticas.php


Imaginemos que alguma pessoa se equivoca e nos põe um link a um artigo que não existe:

www.dominio.com/artigos/plantas-decor.php
www.dominio.com/artigos/plantas-medicina.php

Nós na página que mostra os artigos "ver_artigo.php" teremos que comprovar se existe um artigo com esse nome.
//tenho que ver se este artigo tem nome
$ssql = "select * from artigo where nome = $nome ";
$rs = mysql_query($ssql);
if (mysql_num_rows($rs)==0){
//é que não existe um artigo com esse nome
echo "Erro. Não temos esse artigo";
}


Com este código, cada vez que se escreva uma URL com um erro nos mostraria os mesmos conteúdos: a mensagem "Erro. Não temos esse artigo". Isto é algo que pretendíamos evitar.

Para evitar mostrar em URLs que não existem realmente os mesmos conteúdos, uma solução é fazer um redirecionamento a uma página de erro.

if (mysql_num_rows($rs)==0){
//é que não existe um script com esse id
header ("location: /erro_artigo.php");
exit();
}


Sendo assim, quando alguém se equivocar a compor a URL se mostrará uma mensagem de erro, porém para o buscador todas as mensagens se oferecem desde a mesma página web.

Também podemos fazer com que PHP envie ao navegador do usuário um cabeçalho com o erro de página não encontrada (erro 404 do HTTP).

header("HTTP/1.0 404 Not Found");

São duas possibilidades, cada qual pode utilizar a que desejar,embora seja possível que a do erro 404 seja mais útil e elegante.

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Editar htaccess para criar endereços URL amigáveis

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em Apache


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites