На моем сервере есть папка, которая не читает .htaccess. Я полагаю, что причина этого заключается в том, что папка является символической ссылкой, так как переписывание .htaccess раньше использовалось до установки символической ссылки.
Мод перезаписи должен пересылать все запросы в документах в docs / index.php, чтобы пользователь мог пройти аутентификацию.
Мой webroot - /var/www/mysite.com/
Вот мой конфиг apache:
- /etc/apache2.conf
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
- /etc/apache2/sites-enabled/mysite.conf
DocumentRoot /data/www/mysite.com
<Directory /data/www/mysite.com>
Options -Indexes +FollowSymLinks
AllowOverride All
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
Require all granted
</Directory>
Вот .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !index.php
RewriteRule ^(.*)$ index.php?requested_file=$1 [QSA,L]
</IfModule>
docs является символической ссылкой на / bucket / docs:
docs -> /bucket/docs
А / bucket является символической ссылкой на / storage:
bucket -> /storage/
Я пытался реплицировать файловую структуру в локальной настройке Vagrant, но мне не удалось воспроизвести проблему. Если у кого-то есть предложения, я был бы очень признателен.