Jump to content

Manipular Url


peterpah

Recommended Posts

Primeiro tens de planear os redirecionamentos que queres. Nesse teu exemplo, como pretendes fazer o redirecionamento?

http://localhost/RirOnFireNew/comentario_vd.php?cond=17

Deve ser apresentado de que forma?

http://localhost/Rir.../comentarios/17

http://localhost/Rir.../comentarios-17

Consoante o que prefiras, as condições a colocar no ficheiro .htaccess são diferentes. Com que dúvidas ficaste ao ler os tutoriais?

Edited by softklin

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

Se reparares no endereço que deste como exemplo, tens duas coisas

.../musica-<nome da music>-<id unico>

Tens de passar no teu endereço o id que referencia o vídeo. Para isso, vamos fazer um redirecionamento de

.../musica-nome-da-musica-por-aqui-fora-2012-now-123

para

.../musica.php?cond=123

em que o ID é o 123 e o nome da música é "nome da musica por aqui fora 2012 now"

Vamos começar por uma versão simples, que apenas analisa o ID. Coloca um ficheiro chamada .htaccess (ponto htaccess) na pasta RirOnFire no teu localhost. Dentro desse ficheiro, coloca o seguinte conteúdo:

RewriteEngine On
RewriteBase /RirOnFireNew/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^musica-(.*)-(\d+)[/]?$ musica.php?cond=$2 [L]

A primeira linha indica que queremos ativar o módulo para redirecionamentos do Apache. A segunda indica que os caminhos devem ser reescritos com base nessa pasta. Isto apenas serve para testares no teu PC, visto que quanto o site estiver no ar não vai estar dentro de nenhuma pasta RirOnFireNew/, por isso, quando for online, retiras essa linha. A terceira e quarta linhas significam que caso o ficheiro pedido no endereço seja uma pasta ou um ficheiro que existe no disco, então as regras não devem ser acionadas.

Por fim, a última linha, e talvez a mais importante, é a que te faz um redirecionamento com base em regras. Se reparares, a linha é composta pelo nome do comando (RewriteRule) e os seus argumentos:

^musica-(.*)-(\d+)[/]?$ -> isto é uma expressão regular que vai apanhar todo o conteúdo do endereço que comece com "musica-", em seguida contenha quaisquer carateres, e por fim, finaliza com - e em seguida um número (\d), seguido, ou não, de uma / (para quando as pessoas partilham o link com e sem / no final irem para a mesma página. Isto quer dizer que endereços como:

.../musica-foo-fighters-123

.../musica-top-forever-2012-hits-456

vai ser redirecionados para a página musica.php?cond=ID. Isto é feito internamente.

Testei o código, por isso, deve estar a funcionar em pleno. Experimenta, e vê se consegues obter o redirecionamento. Atenção que esta forma não distingue o nome da musica, e apenas se orienta pelo ID, pelo que:

.../musica-a-minha-banda-favorita-123

.../musica-foo-figthers-123

vão dar à mesma página, porque têm o ID 123 no final em comum.

Edited by softklin

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

Se usares o notepad do Windows, coloca os conteúdos que forneci no editor e quando fores gravar, coloca o nome entre aspas (".htaccess") e tipo de ficheiro "Todos os ficheiros"

http://img39.imageshack.us/img39/616/htaccess.png

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.