Jump to content

Links amigaveis com .htaccess


Gonçalo_ssb

Recommended Posts

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.

Link to comment
Share on other sites

É 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.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

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).

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

Ú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,_-]+)([/]?)$

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

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
×
×
  • 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.