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]
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;
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)