So, I have the following condition in my .htaccess:
RewriteCond %{REQUEST_URI} !.(jpe?g?|png|gif|css|js) [NC]
That tells me to release the above extensions in the case of the redirect below
RewriteRule .* index.php [NC,L]
Full .htaccess code
<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 [NC,L]
ErrorDocument 401 http://localhost/crud/401.php
ErrorDocument 403 http://localhost/crud/403.php
ErrorDocument 404 http://localhost/crud/404.php
ErrorDocument 500 http://localhost/crud/500.php
</ifModule>
Imagine the case where the user accesses:
http://www.seusite.com.br/pasta/arquivo.php
and also consider the case where the arquivo.php
file does not exist in the folder.
The redirect for the page 404.php
will occur normally; However, the images of the page did not open either the .css's
and .js's
links opened because of the imens addresses:
404.php
<?php
require_once 'global/erros/erros.ini';
$titulo = "CRUD - Página não encontrada";
?>
<!DOCTYPE html>
<html>
<head>
<title>CRUD - Página não encontrada</title>
<?php require_once("global/meta/meta.ini"); ?>
<link rel="shortcut icon" type="image/x-png" href="img/favicon.png">
<link type="text/css" rel="stylesheet" href="global/css/erros.css" />
</head>
<body>
<div class="topo"><h1 class="titulos"><?php echo $titulo; ?></h1></div>
<div class="naoEncontrada"><?php require_once("404Conteudo.php"); ?></div>
<div class="final"><?php require_once("public/requeridos/finalErros.php"); ?></div>
</body>
</html>
404Conteudo.php
<a href="http://localhost/crud">
<img src="img/logoCrud.png" title="Logotipo" class="logotipo" />
</a>
<h1 class="titulos">Oh não! Página Não Encontrada!</h1>
<p>O que você esperava encontrar não está aqui?</p>
<br /> <br />
<h2>Detalhes:</h2>
<ul>
<li>A página que Você tentou acessar não existe.</li>
<li>Data atual: <?php echo date("d/m/Y"); ?></li>
</ul>
Please note that the links and images .
Any way to get around this problem with .htaccess
? Or do I really have to add absolute addresses in all files?