1

我在 nginx 配置中为所有文件进行 HTTP 授权,不包括 index.php:

server {
    listen 80;
    root /var/www/site;
    index index.php;
    charset utf-8;

    location ~ /(?!index.php) {
        auth_basic "Unauthorized";
        auth_basic_user_file /var/www/site/htpasswd;
        }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_read_timeout 3000;
        }
}

于是,nginx 不再执行 PHP 文件,而是开始给他们下载。没有location ~ /(?! index.php)- 文件通常会被执行。

如何正确地做出否定条件?

4

0 回答 0