1
So, I have in my . htaccess the following condition:
RewriteCond %{REQUEST_URI} !.(jpe?g?|png|gif|css|js) [NC]
that tells me to release the above extensions in case of the redirect below
RewriteRule .* index.php [NC,L]
Full code of . htaccess
<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 file arquivo.php
does not exist in the folder.
The redirecting to the page 404.php
will occur normally; however, the images of page did not open the links of .css's
and .js's
opened because of the addresses of the immense:
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>
Note that the addresses of links and of images NAY sane absolute.
Some way around that problem for .htaccess
? Or do I have to add addresses absolute in all files?