laravel-docker上で、Rewriteを有効にして、ホーム以外もアクセスできるようにする docker
laravel-docker上で、Rewriteを有効にして、ホーム以外もアクセスできるようにする
docker os は、Debian
■1 000-default.conf に以下を追加して、/etc/apache2/sites-available/000-default.confに設置する。
<Directory /var/www/html> <
Options Indexes FollowSymLinks MultiViews <
AllowOverride All <
Require all granted <
</Directory>
■2 php/Dockerfile
a2enmod rewrite && ¥
と
COPY 000-default.conf /etc/apache2/sites-available/000-default.conf
をいれる
# mod_rewriteを 有効に
RUN /bin/sh -c a2enmod rewrite
■3 .htaccess を以下に設定
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
■4 rewriteモジュールが有効になっているか確認
# apachectl -M | grep rewrite
rewrite_module (shared)
→ これがあるかを確認