Como tratar (esse tipo de) redirecionamento no .htaccess?
Tenho o arquivo .htaccess abaixo:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /crud/
#acessa as requisições abaixo
#se for um arquivos vazio
RewriteCond %{REQUEST_FILENAME} -s [OR]
#ou se for um link de referência (simbólico)
RewriteCond %{REQUEST_FILENAME} -l [OR]
#ou se for um diretório
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(.) index.php
</IfModule>
Na minha **classe** de **Constantes** (**.php**), tenho uma constante:
static private $livre = false;
E no **construtor** da **classe** eu faço a **verificação **da **condição** de** $livre**
public function __construct($_util) {
if(self::$livre == false) {
header("Location: ".$_SERVER["SERVER_PATH"]."/crud/manutencao.php");
exit;
}
Acontece que quando
$livre = true;
funciona bem;
Porém, quando:
$livre = false;
não consigo chegar ao arquivo de **manutenção** como está na **classe**. Isto é, dá erro de muitas tentativas:
Esta página não está funcionando
Redirecionamento em excesso por localhost
Tente limpar os cookies.
ERR_TOO_MANY_REDIRECTS
Acho que preciso fazer uma tratativa no arquivo .**htaccess** para validar a condição de** $livre** também.
Algo como:
if ($livre == false) manutenção.php
else index.php
Mas não sei como fazer isso uma vez que existe no **.htaccess** a regra dizendo que todas requisições chegarem no **index.php**;Discussão (1)
Carregando comentários...