use . htacces appropriately for links

Asked

Viewed 20 times

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?

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.