Ir para o conteúdo
andrepcg

Sistema de páginas [htaccess]

Mensagens Recomendadas

andrepcg    0
andrepcg

estou a testar uma forma de navegação para organizar melhor o meu website. é o seguinte.

tenho uma pasta chamada "u" com um ficheiro index.php lá dentro.

quando faço /u/index.php?n=blablabla  ele faz o que eu quero precisamente.

por acaso voces sabem programar o .htaccess para que quando faça /u/blablabla  tenha o mesmo efeito que  /u/index.php?n=blablabla  ?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
andrepcg    0
andrepcg

arranjei este mas nao está a funcionar.

      ErrorDocument 404 /index.php

      RewriteEngine on

      RewriteRule ^u/([^/\.]+)/?$ /user.php?n=$1 [L]

tenho o ficheiro user.php no inicio com $_GET[n] e faz tudo muito bem, mas nao consigo aceder a partir de u/blablabla

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

Adiciona isto ao .htaccess da raíz do teu site

RewriteRule ^/u/(.*) /u/index.php?n=$1

Certifica-te tambem que isto lá está:

RewriteEngine on

Se não estiver adiciona, tem que aparecer antes que a rewrite rule.

Mesmo que isto funciona à primeira aconselho-te vivamente a pesquisares no google:

mod_rewrite tutorial

EDIT: no teu esqueceste-te de incluir a path.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
andrepcg    0
andrepcg

ok, obrigado! ja funcionou. penso que era da path.

outra coisa. isto faz com que quando eu acesse /u/blablabla  ele redirecciona para user.php?n=blablabla

sabes fazer com que isso eu vez de redireccionar, aparece na barra de endereço o que eu coloquei antes de redireccionar?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

Isto não redireciona. Isto só reescreve o url que é enviado para o serviço do apache. Ou seja, é suposto funcionar como tu estás a dizer.

Talvez tenhas alguma configuração do apache que aplica redirecionamento às rewrite rules em vez de simplesmente enviar a resposta. Não faço idea se isso existe, mas é a explicação mais lógica que consigo encontrar para esse comportamento.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

Não... o L é só para dizer que essa regra é a última que vai ser aplicada a um URL para evitar loops infinitos, ou para decidir que resposta embiar em caso de existirem regras ambíguas.

Tens alguma regra antes com um [R] por exemplo?

Ou não escreveste RedirectRule em vez de RewriteRule?

O melho que tens a fazer é mesmo contactar o teu serviço de alojamento, o código que eu te dei é supost fazer um rewrite e não um redirect.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
andrepcg    0
andrepcg

tenho isto no file:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^u/([A-Za-z0-9-]+)?$ http://zzzzzzzz.info/zzzzzz/user.php?n=$1 [L]

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
andrepcg    0
andrepcg

contactei o serviço de alojamento (ptservidor) e disseram que nao me podiam ajudar. teria de colocar a minha duvida em forums.

será que pode ser do script php?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
psiico    1
psiico

se é do .htaccess nao tem haver com o PHP.

Melhor tutorial de .htaccess que conheco, foi por aqui que aprendi e funciona perfeitamente.

http://www.pixel2life.com/publish/tutorials/89/everything_you_need_to_know_about_htaccess_massive_tutorial/

ou este que encontrei agora e q explica tudo bem:

http://www.addedbytes.com/apache/url-rewriting-for-beginners/

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
andrepcg    0
andrepcg

já sei qual o meu problema. é por estar a usar uma sub-directoria.

nao sei qual o problema mas assim que passei para uma directoria principal, tudo ficou bem.

obrigadao a todos.

PS: ja agora, como faço para usar isso numa sub-directoria?

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