配置文件如下
[root@linux2 vhosts]# vi zgf890213.conf
server
{
listen 80;
server_name www.zgf890213.com;
index index.html index.htm index.php;
root /data/www/www1;
location ~ .*admin\.php$ {
auth_basic "aminglinux auth";
auth_basic_user_file /usr/local/nginx/conf/.htpasswd;
include fastcgi_params;
fastcgi_pass unix:/tmp/www.sock;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/www/www1$fastcgi_script_name;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/tmp/www.sock;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/www/www1$fastcgi_script_name;
}
}想问下绿色和红色那段顺序有关系吗?我一开始把绿色那段写在红色那段后面,发现用户验证没有生效,后来把绿色那段改放到红色那段后面就生效了!
[root@linux2 vhosts]# vi zgf890213.conf
server
{
listen 80;
server_name www.zgf890213.com;
index index.html index.htm index.php;
root /data/www/www1;
location ~ .*admin\.php$ {
auth_basic "aminglinux auth";
auth_basic_user_file /usr/local/nginx/conf/.htpasswd;
include fastcgi_params;
fastcgi_pass unix:/tmp/www.sock;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/www/www1$fastcgi_script_name;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/tmp/www.sock;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/www/www1$fastcgi_script_name;
}
}想问下绿色和红色那段顺序有关系吗?我一开始把绿色那段写在红色那段后面,发现用户验证没有生效,后来把绿色那段改放到红色那段后面就生效了!
0
本帖最后由 乐橙306 于 2016-8-22 09:30 编辑
有关系 ,它涉及到location的 匹配规则,规则如下:
首先匹配 =,其次匹配^~, 其次是按配置文件中先后顺序匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。
你这里它是按照先后顺序匹配。
链接:
http://www.nginx.cn/doc/standard/httpcore.html
有关系 ,它涉及到location的 匹配规则,规则如下:
首先匹配 =,其次匹配^~, 其次是按配置文件中先后顺序匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。
你这里它是按照先后顺序匹配。
链接:
http://www.nginx.cn/doc/standard/httpcore.html
编辑回复