Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

Gonçalo_ssb

Links amigaveis com .htaccess

Mensagens Recomendadas

Gonçalo_ssb    1
Gonçalo_ssb

Bom dia,

Foi-me sugerido a inserção que investigasse um pouco sobre "links amigáveis" e como tal eu pesquisei e achei bastante interessante. Encontrei alguns exemplos, contudo não estou a conseguir implementar.

Eu coloquei o seguinte código no ficheiro .htaccess localizado na raiz do site.

RewriteEngine on

RewriteRule ^([a-z,0-9,A-Z,_-]+)$ /main.php?conteudo=4

O objectivo será conter um link deste género

http://www.dominio.pt/teste/4

ao invés de

http://www.dominio.pt/teste/main.php?conteudo=4

O que estarei a fazer mal.

Obrigado.

Gonçalo Ferraria.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
softklin    12
softklin

É cópia do que está lá em cima, e como tal o código está correcto.

Na tua pasta do webserver, na raiz, tens de ter uma pasta chamada 'teste', em que lá dentro tens um ficheiro chamado main.php.

Para fins de debug, coloca no teu 'main.php' o seguinte conteúdo:

<?php var_dump($_GET) ?>

e depois tenta aceder ao url, por exemplo (notar que não leva uma barra final)

http://localhost/teste/coolstuff

deve-te aparecer na página 'coolstuff' e mais umas coisas adicionadas pelo PHP.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
n3lThon    1
n3lThon

A linha não estava comenta e ainda substitui o "AllowOverride None" por "AllowOverride All" e continua tudo na mesma. Já reiniciei o xampp e não resulta:(

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
softklin    12
softklin

Última tentativa da minha parte:

Comenta ou remove temporariamente essas duas linhas iniciais que tens no teu .htaccess (o ficheiro tem o nome "ponto htaccess"), e vê se dá.

Se isso não dá, sinceramente não sei o que possa ser. Não acedas aos urls amigáveis com uma barra no fim, visto que a regra não apanha esse caso, para o apanhar utilizarias

^/teste/([a-z,0-9,A-Z,_-]+)([/]?)$

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
n3lThon    1
n3lThon

Já o verifiquei como o softclean disse nesta mensagem:

Lembrei-me que podes ter essa função inactiva. Se usares o XAMP ou similar (ou até mesmo o Apache), tens de editar o httpd.conf

http://rudyegenias.wordpress.com/2006/08/21/enabling-mod-rewrite-in-xampp/

Vê se aquela linha do mod_rewrite está activa (ou seja, sem um cardinal no inicio da linha, tal como na página).

Ou não é isto?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade