PHP Gerando redirecionamentos dinamicamente

1

Recentemente, movi todas as minhas regras de um arquivo .htacess para um arquivo .conf. Agora, quando quero adicionar uma regra de redirecionamento ao meu site, tenho que editar o arquivo .conf e sudo apachectl graceful .

Eu já me deparei com um problema em que eu quero ser capaz de gerar dinamicamente minhas regras de redirecionamento do PHP. Antes, quando eu tinha meu arquivo .htacess em execução, teria sido relativamente fácil - basta incluir um arquivo que o PHP controla e todos os redirecionamentos funcionariam perfeitamente.

Agora, eu ainda posso usar um arquivo de inclusão, mas não tenho certeza (ou estou confortável com) o PHP executando apachectl graceful .

Qual é a melhor solução aqui? Pelo que entendi com a minha configuração atual, o apache definitivamente precisa ser reiniciado para que o arquivo .conf tenha efeito, correto? Se eu voltasse a usar o .htaccess, eu poderia ter apenas um .htaccess na raiz do domínio e restringir o apache de usar qualquer outro arquivo .htaccess, para não atrasar meu servidor?

    
por Chud37 14.06.2018 / 09:00

1 resposta

0

...but i'm not sure (or comfortable with) PHP running apachectl graceful.

Bem, exatamente. Você nem deveria estar pensando em tentar editar sua configuração do servidor a partir do PHP. Isso nem deveria ser possível, ou se estiver abrindo uma enorme lata de worms em termos de segurança.

...when I had my .htacess file running it would have been relatively easy - just include a file there that PHP has control over and all redirects would work perfectly.

Você quer dizer, permitindo que o PHP edite seu arquivo .htaccess ? Isso também tem possíveis riscos de segurança.

No entanto, .htaccess ou até mesmo sua configuração principal do servidor, não é necessariamente o melhor lugar para redirecionamentos , assumindo que você está falando sobre redirecionamentos externos ). Esses redirecionamentos geralmente são porque um recurso / página foi movido e não existe mais. Neste caso, é mais eficiente processar o redirecionamento em seu código do lado do servidor (ou seja, PHP) depois de determinar que um 404 seria retornado. O redirecionamento é uma tarefa de baixa prioridade. Servir conteúdo para os visitantes do seu site é uma prioridade mais alta. Você não precisa que a verificação de redirecionamento seja executada em todas as solicitações.

    
por 14.06.2018 / 12:53