server {
listen 443 ssl;
listen [::]:443 ssl;
root /var/www/html;
index index.php index.html index.htm;
server_name my.domain.com;
location / {
try_files $uri $uri/ @phpnoauth;
}
location /authenticate {
try_files $uri $uri/ @phpnoauth;
}
location /dev {
try_files $uri $uri/ @phpauth;
}
location ~ \.php$ {
include /etc/nginx/sites-available/default-include;
fastcgi_param PHP_VALUE "auto_prepend_file=/var/www/html/authenticate/index.php";
}
location @phpnoauth {
include /etc/nginx/sites-available/default-include;
}
location @phpauth {
include /etc/nginx/sites-available/default-include;
fastcgi_param PHP_VALUE "auto_prepend_file=/var/www/html/authenticate/index.php";
}
location ~ /\.ht {
deny all;
}
}
Я пытаюсь упростить мою конфигурацию.
У меня есть несколько каталогов, некоторые из них должны пройти эту строку, чтобы NGINX загрузил систему аутентификации на страницу:
fastcgi_param PHP_VALUE "auto_prepend_file=/var/www/html/authenticate/index.php";
Некоторые из них не требуют этой системы аутентификации.
Я думал, что просто создам 2 разных раздела о местоположении PHP. Один с добавленной аутентификацией, другой без него. Тогда я бы просто указал каталог на тот, который нужен.
Он просто пытается загрузить его как файл PHP, если у меня нет этого в конфигурации:
location ~ \.php$ {
include /etc/nginx/sites-available/default-include;
fastcgi_param PHP_VALUE "auto_prepend_file=/var/www/html/authenticate/index.php";
}
Я не совсем уверен, как заставить это работать. Я пытался изменить все в течение нескольких часов без особой удачи. Любая помощь? Спасибо!
Задача ещё не решена.
Других решений пока нет …