Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kimura

[Resolvido] URL Amigável

Recommended Posts

Olá,

 

Peço que reabram este tópico, pois não está resolvido. Obrigado.

 

Calvin,

 

Não funcionou como você explica abaixo. Há outra forma?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido retirado do titulo a pedido do autor do topico

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em minha última postagem perguntei como faço para bloquear a chamada de um arquivo .php diretamente na url.

 

Não ficando claro pra mim, torno a perguntar o mesmo.

 

Obs.: Tenho hoje este htaccess.

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^/]*)$ index.php?pagina=$1 [L]
RewriteRule ^noticia/([0-9]+)/([a-z-A-z]+).html$ index.php?pagina=noticia&id=$1 [L]
Obs.: Se eu bloquear todos os arquivos .php, logicamente o index.php também ficará será bloqueado, isso causará um erro.

 

Resumindo: Bloquear todos os arquivos .php, exceto o index.php para não serem acessados diretamente pelo usuário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

RewriteEngine On
RewriteRule ^(?!index\.php).*$ - [F]

Pode ainda usar a diretiva filesMatch...

Edit: na pattern excluir a inder...e dar um deny from all...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá eibon,

 

Obrigado por responder.

 

Tenho um dúvida: O que você postou tem alguma posição (antes/depois de alguma regra) certa pra ser colocado no meu htaccess?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

De preferência coloca-la como primeira regra (outras regras podem afetar o resultado).

Exemplo de rule afetando o resultado:

RewriteEngine On
RewriteRule ^.*$ index.php
RewriteRule ^(?!index\.php).*$ - [F]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Fiz conforme a sua explicação, entretanto agora não funciona a chamada SEM extensão, sendo que se chamo, por exemplo, http://localhost/direito/capa.php ele mostra o layout mas não inclue o capa.php na index.

 

Acho que o processo ficou invertido.

 

Como corrigimos?

 

Obrigado.

 

[RETIFICANDO]

 

Agora está ok, só as imagens, estilos não estão sendo puxados, como corrigir?

 

Obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já ia te enviar prints de funcionando normal aqui.=x

Cara...faz uma rewriteCond excluindo esses formatos...

De prefêrencia os inclua pela PATH absoluta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa!

 

Se você puder me ajudar te agradeço.

 

Oque você me sugeriu de códigos funcionou corretamente, está muito bacana eibon!

 

Se quiser me mandar essas prints, estou aceitando.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

RewriteEngine On
RewriteCond %{REQUEST_URI} ^.*\.(?!css)
RewriteRule ^(?!index\.php).*$ - [F]

Fiquei com preguiça de tirar as fotos da budega funfando...

Mas tai...

 

Edit: adiciona um parentesis e uns ous na pattern da cond ... pra os formatos que você não quer que sejam afetados.

Exemplo:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^.*\.(?!(css|js|jpeg))
RewriteRule ^(?!index\.php).*$ - [F]

Compartilhar este post


Link para o post
Compartilhar em outros sites

eibon,

 

As suas dicas foram extremamente valiosas, muito obrigado mesmo!

 

Obs.: O meu código ficou assim, veja, por gentileza veja se estou escrevendo algo desnecessário.

RewriteEngine On

RewriteCond %{REQUEST_URI} ^.*\.(?!(css|js|jpeg|html))
RewriteRule ^(?!index\.php).*$ - [F]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^/]*)$ index.php?pagina=$1 [L]
RewriteRule ^noticia/([0-9]+)/([a-z-A-z]+).html$ index.php?pagina=noticia&id=$1 [L]

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.