Nginx,身份验证工作,但一旦通过身份验证,它下载页面而不是显示它?

时间:2014-12-10 19:39:02

标签: php nginx webserver

我已经配置了一些基本身份验证来阻止访问名为camera的目录,这是nginx服务器上启用了站点的目录中的代码:

location ^~ /camera/ {
auth_basic            "Restricted Area";
auth_basic_user_file  conf.d/htpasswd;
}

身份验证正在运行,如果用户名/密码错误将无法继续,但是现在发生了什么,而不是向用户显示受限制的页面,而是下载php文件,显然这不是我想要的,我怎么能停止这个并显示页面呢?

由于

1 个答案:

答案 0 :(得分:1)

请阅读地理位置如何运作:http://nginx.org/en/docs/http/ngx_http_core_module.html#location 匹配后/camera/位置nginx停止搜索任何其他位置。

  

如果最长匹配前缀位置具有“^〜”修饰符,则不检查正则表达式。

您需要在/camera/内为进程.php文件添加嵌套位置。 例如:

 location ^~ /camera/ {
    auth_basic "Restricted Area";
    auth_basic_user_file  conf.d/htpasswd;
    location ~ \.php$ {
       fastcgi_pass ...;
    }
 }