我已经配置了一些基本身份验证来阻止访问名为camera的目录,这是nginx服务器上启用了站点的目录中的代码:
location ^~ /camera/ {
auth_basic "Restricted Area";
auth_basic_user_file conf.d/htpasswd;
}
身份验证正在运行,如果用户名/密码错误将无法继续,但是现在发生了什么,而不是向用户显示受限制的页面,而是下载php文件,显然这不是我想要的,我怎么能停止这个并显示页面呢?
由于
答案 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 ...;
}
}