У меня есть Symfony веб-сайт, на котором я переименовал основную точку входа, поэтому «index. php» не может быть доступен или проиндексирован поисковыми системами. Это работает хорошо. Но когда я пытаюсь получить доступ к этому файлу, я получаю файл 404, который не найден, эта страница 404 обрабатывается Apache, а не приложением, это стандартная страница 404:
Not Found
The requested URL was not found on this server.
Я бы такие URL-адреса, как / index. php (на самом деле *. php), которые должны обрабатываться приложением Symfony для отображения настраиваемой страницы ошибок с хорошим макетом. Мой vhost выглядит так, я пытался добавить директиву «index каталога», но безуспешно.
# configuration/vhosts/prod/mywebsite.com-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName www.mywebsite.com
DocumentRoot /var/www-protected/mywebsite.com/public
<Directory /var/www-protected/mywebsite.com/public>
AllowOverride All
Require all granted
FallbackResource /my-secret-entry-point.php
</Directory>
RedirectMatch 404 /\.git
ErrorLog /var/log/apache2/mywebsite.com_error.log
CustomLog /var/log/apache2/mywebsite.com_access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =mywebsite.com
RewriteRule ^ https://www.%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
SSLCertificateFile /etc/letsencrypt/live/www.mywebsite.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.mywebsite.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>