DEV Community

Cover image for Habilitando a sobrescrita do apache no Docker
Jhonatan Henkel
Jhonatan Henkel

Posted on

Habilitando a sobrescrita do apache no Docker

Olá pessoal, hoje vamos bater um papo sobre como configurar o apache no seu container docker para aceitar a sobrescrita de regras no .htaccess do se projeto.

Tenho o seguinte .htaccess:

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.+)$ index.php [QSA,L]
Enter fullscreen mode Exit fullscreen mode

Nesse .htaccess estou alterando a regra para mandar tudo após o diretório home “/” para o meu index.php.

Como no apache do docker está desabilitado a regra de sobrescrita, acaba que sempre que eu ia acessar a minha rota pelo insomnia retornava server error 500.

Como estamos falando de docker, vamos começar pelo Dockerfile, estou usando a imagem php:8.1.11-apache.

Adicionei dois comando run, como pode-se verificar abaixo:

RUN a2enmod rewrite
RUN addgroup --gid 1000 appuser; \
    adduser --uid 1000 --gid 1000 --disabled-password appuser; \
    adduser www-data appuser; \
    sed -i '/<Directory \/var\/www\/>/,/<\/Directory>/ s/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf; \
    service apache2 restart;
Enter fullscreen mode Exit fullscreen mode

Nessas dois comandos run, estou habilitando a sobrscrita do apache no container, adicionando um usuário para alterar o apache2.conf e reiniciando o serviço do apache.

Sendo assim, quando eu quando eu subir esse container, o apache já estará configurado e pronto para aceitar as regras do .htaccess do seu projeto.

Top comments (0)