Ich benutze Docker komponieren. Wenn ich "docker-compose up" ausführe, bin ich auf einen Fehler gestoßen: /var/www/html/.htaccess: Ungültiger Befehl 'RewriteEngine'.Apache Docker Container - Ungültiger Befehl 'RewriteEngine'
Können Sie mir sagen, wo ich versage?
Projekt Architektur:
project-name/
/docker-compose.yml
/Dockerfile
/apache.conf
/php.ini
/src/
/index.php
/.htaccess
Docker-compose.yml:
web:
build: .
ports:
- "80:80"
volumes:
- ./src:/var/www/html
- php.ini:/usr/local/etc/php/conf.d/30-custom.ini
- apache.conf:/etc/apache2/sites-enabled
environment:
- ALLOW_OVERRIDE=true
Dockerfile:
FROM php:7.0-apache
RUN a2enmod rewrite
RUN service apache2 restart
ADD ./src /var/www/html
php.ini:
display_errors=1
error_reporting=E_ALL
apache.conf (mit meiner IP-Adresse):
<VirtualHost *:80>
ServerName xxx.xxx.xx.xxx
DocumentRoot /var/www/html
</VirtualHost>
ich in der Befehlszeile:
[email protected]:/blabla/project-name$ docker-compose up
es gibt mir:
AH00558: apache2: Could not reliably determine the server's fully
qualified domain name, using xxx.xx.x.x. Set the 'ServerName' directive
globally to suppress this message
und
/var/www/html/.htaccess: Invalid command 'RewriteEngine',
perhaps misspelled or defined by a module not included in the server
configuration
und im Browser, in meine IP-Adresse (http://xxx.xxx.xx.xxx/):
500 Internal servor error
meine .htaccess:
<files .htaccess>
Require all denied
</files>
Options +FollowSymlinks -Indexes -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?p=$1 [L,QSA]
Ich bin auf dem Fenster und ich verwende Oracle VM Virtual Box.
Vielen Dank im Voraus!
EDIT: Ich sollte sagen, dass, wenn ich Rewrite-Regeln zu löschen, alles funktioniert.
Versuchen Sie, die Zeile 'RUN service apache2 restart' zu entfernen. Sie starten keinen Apache, wenn Sie ein Image erstellen. – VonC
immer das gleiche Problem. – HeyDaddy