Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
andrepcg

Sistema de páginas [htaccess]

Recommended Posts

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  ?


Manda piadas secas por telefone - Piadas.secas.club

Share this post


Link to post
Share on other sites
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


Manda piadas secas por telefone - Piadas.secas.club

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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?


Manda piadas secas por telefone - Piadas.secas.club

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
andrepcg

nao consigo perceber isto... já tentei de tudo e ele nao faz rewrite, faz apenas redirect... será que tem a ver com o script php?


Manda piadas secas por telefone - Piadas.secas.club

Share this post


Link to post
Share on other sites
djthyrax

Falta um [L] no final da linha para acontecer o que tu queres salvo erro.


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
andrepcg

tenho isto no file:

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


Manda piadas secas por telefone - Piadas.secas.club

Share this post


Link to post
Share on other sites
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?


Manda piadas secas por telefone - Piadas.secas.club

Share this post


Link to post
Share on other sites
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?


Manda piadas secas por telefone - Piadas.secas.club

Share this post


Link to post
Share on other sites
djthyrax

Acho que é com RewriteBase, algo assim.


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
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
Sign in to follow this  

×

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.