• 0
Sign in to follow this  
Carlos Rocha

Como tratar (esse tipo de) redirecionamento no .htaccess?

Question

Bom, acho que tive progresso:

Tenho o .htaccess abaixo e parece estar funcionando bem:

<ifModule mod_rewrite.c>
  # LIGA O MOTOR DE REESCRITA (Rewrite)
  RewriteEngine on
  # BUSCA PELA BASE /teste/ NO HOST ACESSADO
  RewriteBase /teste/
  # FAZ UMA ESCESSÃO DE REDIRECIONAMENTO PARA A PÁGINA manutencao.php CASO O NAVEGADOR RECEBA ELA NA URL
  RewriteCond %{REQUEST_URI} !/manutencao.php$ [NC]
  # FAZ UMA ESCESSÃO E LIBERA IMAGENS NESTA PAGINA
  RewriteCond %{REQUEST_URI} !.(jpe?g?|png|gif) [NC]
  # REENVIA QUALQUER ACESSO AO SITE PARA A PÁGINA index.php NO HOST INDICADO LIBERANDO AS EXCESSÕES ACIMA DESCRITAS
  RewriteRule .* index.php
  #RewriteRule .* http://localhost/teste/index.php
  #RewriteRule .* http://localhost/teste/index.php [R=302,L]
</ifModule>

Porém, tenho algumas dúvidas:

A ) Nenhuma das linhas abaixo funciona, ambas dá erro 500:

        #RewriteRule .* http://localhost/teste/index.php 
        #RewriteRule .* http://localhost/teste/index.php [R=302,L]

     Ou seja, não consigo enviar para o endereço de host completo apenas redireciona corretamente para a página específica :index.php
    Neste caso, se eu acessar por exemplo:    
      

 http://localhost/teste/outroteste/testando/index.php 


       o redirecionamento se fará para 
    

       http://localhost/teste/outroteste/testando/index.php

       
       ou seja, para o mesmo link e não para 
       

       http://localhost/teste/index.php

       
       Como se era esperado.
       
       Como corrigir isso?

       
B)  A correção do item anterior deve resolver o problema deste item que é a lincagem dos arquivos css, js, imagens e tudo mais que compõem o arquivo a ser aberto.

Quem poderá me ajudar?

Arquivos envolvidos:

.htaccess
<ifModule mod_rewrite.c>
  # LIGA O MOTOR DE REESCRITA (Rewrite)
  RewriteEngine on
  # BUSCA PELA BASE /teste/ NO HOST ACESSADO
  RewriteBase /teste/
  # FAZ UMA ESCESSÃO DE REDIRECIONAMENTO PARA A PÁGINA manutencao.php CASO O NAVEGADOR RECEBA ELA NA URL
  RewriteCond %{REQUEST_URI} !/manutencao.php$ [NC]
  # FAZ UMA ESCESSÃO E LIBERA IMAGENS NESTA PAGINA
  RewriteCond %{REQUEST_URI} !.(jpe?g?|png|gif) [NC]
  # REENVIA QUALQUER ACESSO AO SITE PARA A PÁGINA index.php NO HOST INDICADO LIBERANDO AS EXCESSÕES ACIMA DESCRITAS
  RewriteRule .* index.php
  #RewriteRule .* http://localhost/teste/index.php
  #RewriteRule .* http://localhost/teste/index.php [R=302,L]
</ifModule>

index.php

INDEX
<?php
 
  header ("Location: http://localhost/teste/manutencao.php"); 
  
?>

manutencao.php

<?php
 
  echo "MANUTENÇÃO  "; 
  
?>

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0
<ifModule mod_rewrite.c>
  # LIGA O MOTOR DE REESCRITA (Rewrite)
  RewriteEngine on
  # BUSCA PELA BASE /crud/ NO HOST ACESSADO
  RewriteBase /crud/
  # FAZ UMA ESCESSÃO DE REDIRECIONAMENTO PARA A PÁGINA manutencao.php CASO O NAVEGADOR RECEBA ELA NA URL
  # PERCEBA O ! ANTES DO NOME DO ARQUIVO. ISSO DIZ AO .htaccess QUE O ARQUIVO EM QUESTÃO NÃO SEGUE A REGRA E ABRE NORMALMENTE
  RewriteCond %{REQUEST_URI} !/manutencao.php$ [NC]
  # FAZ UMA ESCESSÃO E LIBERA IMAGENS NESTA PAGINA
  # NOTE QUE PAR ESAS EXTENSÕES, O REDIRECIONAMENTO NÃO ACONTECE E DÁ ERRO 404 CASO A IMAGEM NÃO EXISTA
  # AS DEMAIS EXTENSÕES SÃO TODAS REENVIADAS PARA A INDEX
  RewriteCond %{REQUEST_URI} !.(jpe?g?|png|gif|css|js) [NC]
  # REENVIA QUALQUER ACESSO AO SITE PARA A PÁGINA index.php NO HOST INDICADO LIBERANDO AS EXCESSÕES ACIMA DESCRITAS
  RewriteRule .* index.php
</ifModule>

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this