I have .htaccess
below and it seems to be working fine:
<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>
However, I have some doubts:
A) None of the lines below works, both give 500 error:
#RewriteRule .* http://localhost/teste/index.php
#RewriteRule .* http://localhost/teste/index.php [R=302,L]
That is, I can not send to the address of host
complete only redirects correctly to the specific page: index.php
In this case, if I access for example:
http://localhost/teste/outroteste/testando/index.php
redirection will be made to
http://localhost/teste/outroteste/testando/index.php
that is, for the same link and not for
http://localhost/teste/index.php
As expected.
How do I fix this?
B) The correction of the previous item should solve the problem of this item which is the css, js files, images and everything else that compose the file to be opened.
Who can help me?
Files involved:
.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 ";
?>
<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>
Even though you still have a problem:
You need to know how to change this line
RewriteCond %{REQUEST_URI} !/manutencao.php$ [NC]
By such an adaptation
RewriteCond %{REQUEST_URI} !/http://www.site.com.br/manutencao.php$ [NC]
So that the page that will be opened is obligatory on rais!