Добрый день!
9 ноября 2009 г. 18:46 пользователь diem <diem@xxxxxxxxx> написал:
Версия nginx - 0.7.63.
1) Очень было бы неплохо иметь возможность применять alias в именованных
локэйшенах.
А как alias должен определять, какая часть URI - название папки, а
какая - уже имя запрашиваемого файла? В named location это не
указывается, и, получается, единственный логичный способ действия -
использовать alias так же, как root.
2) Как можно реализовать такое:
Для примера есть location
location ^~ /some_path/ {
auth_basic "ACCESS DENIED";
auth_basic_user_file /home/user/.passwd/sample_pass_file;
}
мне нужно обработать запрос а потом перенаправить его дальше,
location ~ \.php$ {
fastcgi_pass unix:/var/run/spawn-fcgi.sock;
fastcgi_param SCRIPT_FILENAME
/home/user/site$fastcgi_script_name;
include fastcgi_params;
}
но чтобы текущий блок location (^~ /some_path/ ) игнорировался и запрос
попал в (~ \.php$).
Таким образом комбинируя параметры, что-то похожее на include, но по
локэйшенам.
Насколько я понимаю, в этом случае можно воспользоваться вложенными location:
location /some_path/ {
auth_basic ....;
location ~ \.php$ {
fastcgi_pass ...;
}
}
3) Можно ли направить запрос в именованный location, не под средством
try_files и error_page, а на прямую, чтоб срабатывало
без каких либо условий, во всех случаях ?
Фактически тоже самое что и во втором пункте, но с именованными @
локэйшенами.
На данный момент такой директивы нет. Можно писать error_page 4xx =
@named_location и выдавать return 4xx в location, где требуется
обработать запрос.