2014-08-29 3 views
0

Мое местоположение блока в попытке защитить паролем файл сказать admin.php не working.Below моя конфигурация NginxПароль защищает один файл с Nginx

location = /admin.php { 
      root /var/www/site.com/public_html/www; 
      index index.php index.html index.htm; 
      auth_basic   "Restricted Area"; 
      auth_basic_user_file /var/www/site.com/public_html/htpasswd; 
     } 

location ~* \.php$ { 
    root /var/www/site.com/public_html/www; 
    try_files $uri =404; 
    fastcgi_pass unix:/tmp/php5-fpm.sock; 
    fastcgi_index index.php; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    include  fastcgi_params; 
    fastcgi_read_timeout 300; 
} 

Я попытался изменить location = /admin.php { к location ~/admin\.php$ { или location /admin.php {, но ни один из они работали

URL-адрес из admin.php является: https://mysite.com/admin.php

И да я сделал перезагрузить Nginx после каждой попытки

С наилучшими пожеланиями

ответ

3

Я немного поздно, но это правило, которое вы ищете:

location ~ /admin\.php$ { 
    auth_basic "Restricted Area"; 
    auth_basic_user_file /path/to/.htpasswd; 
    root /var/www/site.com/public_html/www; 
    try_files $uri =404; 
    fastcgi_pass unix:/tmp/php5-fpm.sock; 
    fastcgi_index index.php; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    include  fastcgi_params; 
    fastcgi_read_timeout 300; 
} 

Вы должны включить вашу обработку FastCGI в блоке определения местоположения для файла PHP. Надеюсь, это поможет кому-то!

+0

Лот в последнее время. Спасибо за код, надеюсь, что это поможет мне, плохо проверить это :) – Skyleter

Смежные вопросы