2014-08-29 190 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 {但没有他们的工作

的admin.php的的网址是:https://mysite.com/admin.php

是的,我没有重新加载nginx的每个尝试

亲切的问候

回答

3

我有点晚了,但是这是你要找的规则:你需要在为PHP文件的位置挡住你的FastCGI处理

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; 
} 

。希望这可以帮助别人!

+0

很多很晚。感谢代码,希望它对我有帮助,虐待测试:) – Skyleter 2016-03-14 03:03:47