htpasswd验证后无法呈现php文件

The*_*gin 2 php nginx .htpasswd

我在Nginx服务器上运行magento。我决定使用auth_basic和htpasswd文件锁定一个充满.php文件的文件夹。没有身份验证,php页面将呈现并正常工作。但是在强制执行身份验证之后,当我转到页面时,我得到登录提示(很好),我登录了,然后浏览器尝试下载php文件。它拒绝渲染它。这是跨多个浏览器(chrome,firefox,opera等)的。任何想法我需要做些什么才能使其具有密码保护但仍然有效?谢谢!

编辑:.conf文件身份验证设置

location ~^ /FOLDER/ {
    auth_basic                   "Restricted";
    auth_basic_user_file         /path/to/htpasswd/;
    }
Run Code Online (Sandbox Code Playgroud)

Che*_*ery 5

Nginx不会“跳转”到另一个位置,因此您必须在受保护的位置内向php解释器的进程添加“代理”:

location ~^ /FOLDER {
    auth_basic                   "Restricted";
    auth_basic_user_file         /path/to/htpasswd/;
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        include        fastcgi.conf;
    }
}
Run Code Online (Sandbox Code Playgroud)

将端口或配置更改为配置其他位置中的任何端口。命名位置还有另一种方法,但我认为您不需要在这里使用它。