# Настройка веб-сервера
Веб-сервер должен отправлять все HTTP-запросы на сценарий входа (фронт-контроллер) public/index.php.
Для проверки работоспособности или демонстрации приложения можно воспользоваться встроенным PHP-сервером. Для этого из корня приложения выполните следующую команду.
composer run serve
Для любых других задач используйте полнофункциональный веб-сервер.
# Рекомендуемая конфигурация Nginx
Должен быть установлен PHP-FPM и Nginx. Не забудьте заменить значения директив root
, access_log
, error_log
на корректные пути, а также server_name
на имя вашего хоста.
server {
charset utf-8;
listen 80; ## слушаем ipv4
#listen [::]:80 default_server ipv6only=on; ## слушаем ipv6
server_name example.com;
root /path/to/public;
index index.php;
access_log /path/to/example.access.log;
error_log /path/to/example.error.log;
location / {
# Перенаправить все запросы к несуществующим директориям и файлам на index.php
try_files $uri $uri/ /index.php$is_args$args;
# Обрезать конечный слэш
rewrite ^/(.*)/$ /$1 permanent;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# Использовать UNIX-сокет
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# Использовать TCP-сокет
#fastcgi_pass 127.0.0.1:9000;
}
location ~ /\. {
deny all;
}
}
# Рекомендуемая конфигурация Apache
Для Apache необходимо добавить следующий код в конфигурационный файл виртуального хоста и заменить path/to/public
на корректный путь к public
.
# Устанавить "public" корневой директорией
DocumentRoot "path/to/public"
<Directory "path/to/public">
# Включить модуль "mod_rewrite" для поддержки URL-адресов
RewriteEngine on
# Если директория или файл существуют, обратиться к ним напрямую
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Если нет - перенаправить запрос на index.php
RewriteRule . index.php
# ... другие настройки ...
</Directory>