2014-08-29 93 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