Чтобы настроить Nginx для обработки URL вида `localhost:8099/home/index/alex` и передавать его в параметр GET с именем `url`, вам нужно изменить конфигурацию таким образом, чтобы он перенаправлял запросы с заданным шаблоном в нужный формат.
Вы можете использовать директиву `rewrite` для этого. Вот пример того, как можно изменить ваш конфигурационный файл:
```nginx
server {
listen 8099;
server_name localhost;
root /var/www/mvc/public;
index index.php;
error_log /var/log/nginx/error.log;
location / {
# Если запрос совпадает с /home/index/можно перенаправить с подстановкой в url
rewrite ^/home/index/(.*)$ /index.php?url=/home/index/$1 last;
# Проверка файловой структуры
try_files $uri /$uri /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass fpm:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
fastcgi_param HTTPS off;
fastcgi_param APPLICATION_ENV local;
}
}
```
Объяснение изменений:
1. Используем директиву `rewrite`, чтобы перенаправить URL в нужный формат.
- `^/home/index/(.*)$` - это регулярное выражение, которое выбирает все, что идет после `/home/index/` и помещает это в переменную `$1`.
- `/index.php?url=/home/index/$1` - это путь, к которому мы перенаправляем. Здесь `$1` будет заменен на соответствующее значение.
- `last` сообщает Nginx, что после применения этого правила, он больше не должен проверять другие правила для этого запроса.
Теперь, если вы перейдете по адресу `http://localhost:8099/home/index/alex`, ваш PHP-скрипт получит `$_GET['url']` равным `/home/index/alex`.
Не забудьте перезапустить Nginx после изменения конфигурации, чтобы изменения вступили в силу.