Базовая аутентификация Nginx и вложенные папки
У меня проблема с вложенными папками в основной папке с проверкой подлинности. В защищенной папке у меня есть папка с именем phpmyadmin, которая содержит phpmyadmin. Я не могу запустить phpmyadmin, когда активирован basic. Когда я вызываю папку, я получаю диалоговое окно сохранения как (тип: приложение/октетный поток (18,3 КБ)).
Здесь важные части mysites - доступны/по умолчанию
location ^~ /administration/ {
auth_basic "Restricted Area";
auth_basic_user_file /var/www/myproject/sec/htpasswd;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
Есть идеи, как я могу запустить php в подпапках, защищенных базовой аутентификацией?
1 answers
Вы можете просто повторить блок location ~ \.php$
внутри блока /administration/
.
В качестве обходного пути я также успешно использовал эту настройку, что избавляет меня от многократного повторения конфигурации PHP в сложных сценариях.
location ^~ /administration/ {
auth_basic "Restricted Area";
auth_basic_user_file /var/www/myproject/sec/htpasswd;
location ~ \.php$ {
try_files /dummy/$uri @php;
}
}
location ~ \.php$ {
try_files /dummy/$uri @php;
}
location @php {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
В основном он использует именованное местоположение для конфигурации PHP. К сожалению, вы не можете использовать такое местоположение везде. Но это работает с try_files
. Вы должны убедиться, что на вашем сервере нет каталога /dummy/
.