我有一个像这样的Nginx配置:
# match everything except /api/* and /redirected.html
location ~ ^/(?!api|redirected.html).* {
if ($isFoobar = 1) {
rewrite ^ /redirected.html redirect;
}
}
# match everything except /api/*
location ~* ^/(?!api).* {
if ($http_x_forwarded_proto != "https") {
rewrite ^(.*)$ https://$server_name$1 permanent;
}
passenger_enabled on;
}
我希望任何匹配的请求首先输入位置#1,如果没有重写,请输入第二个位置。
所以,配置应该:
/api/*
和/redirected.html
以外的任何内容重定向至/redirected.html
,如果 $isFoobar
为1
/api/*
已经https
,则将https
重定向到SELECT nombre
FROM actores
WHERE codactor IN ( SELECT actor
FROM participacion
WHERE (titulo,año) IN (SELECT titulo, año
FROM peliculas
WHERE director IN (
SELECT coddirector
FROM directores d
WHERE d.nombre='Alejandro'
AND d.apellido='Amenabar')))
INTERSECT
SELECT nombre
FROM actores
WHERE codactor IN ( SELECT actor
FROM participacion
WHERE (titulo,año) IN (SELECT titulo,año
FROM peliculas
WHERE director in (
SELECT coddirector
from directores p
WHERE p.nombre='Pedro'
AND p.apellido='Almodobar')));
是否可以使用Nginx或我是否需要重复位置#1中位置#2的规则?
答案 0 :(得分:0)
所以,我找到的解决方案是使用嵌套位置:
float64
这样,两个规则都基于当前URL应用。