nginx Ограничить или перенаправить запросы для прохождения через index.php в корне

Мое требование к проекту - запустить приложение angular (v6)/ionic (v4) (index.html) из Slim framework (index.php). Структура корневой папки представлена ​​на изображении ниже: введите здесь описание изображения

'www' - это корневой каталог, в котором лежит Slim index.php. Внутри «www» находится папка приложения, в которую добавляются файлы сборки angular (index.php). Требование состоит в том, чтобы все запросы проходили через Slim index.php в корневой папке, и на основе некоторой логики сеанса мы должны маршрутизировать или запускать угловое приложение (index.html).

Прямо сейчас 'https://domain/' проходит через index.php. Но «https://domain/app/' напрямую запускает приложение angular (index.html).

Как мне настроить nginx так, чтобы все запросы обрабатывались в корневом каталоге с помощью Slim index.php?

server {
    server_name <domain>;

    root /var/www/<some name>/public/www/;
    index index.php index.html index.htm;

    access_log  /var/log/nginx/<some name>.log;
    error_log   /var/log/nginx/<some name>.log;

    sendfile off;

    location / {
        index index.php index.html index.htm;
        try_files $uri $uri/ index.php /index.php?$args;
    }
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_read_timeout 36000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Спасибо


person AUK4SO    schedule 09.12.2018    source источник
comment
Может быть, вы можете ограничить доступ к своей папке app или перенаправить все запросы https://domain/app/ в https://domain, я могу дать вам код, если это решит вашу проблему.   -  person lotfio    schedule 09.12.2018
comment
Привет @ABDELLATIFLAKEHAL, было бы полезно, если бы вы могли поделиться кодом. Мое требование - ограничить доступ к папке приложения и перенаправить в корень. Я пытался перенаправить и переписать безуспешно, но это может быть из-за моей неопытности.   -  person AUK4SO    schedule 09.12.2018


Ответы (1)


вы можете ограничить доступ к вашему каталогу app вот так

location /app {
    deny all;
    return 404; #show not found instead of 403
}

Или вы можете переопределить обработку 403, отправив перенаправление на https://example.com/

location /app{
     deny all;
     error_page 403 https:/domain.com/;  #redirect to your main directory
 }
person lotfio    schedule 09.12.2018