Nginx передает подкаталог в качестве базового URL для Kohana

После настройки нескольких приложений Kohana на Nginx мне нужно настроить параметр "базовый URL" для каждого приложения. До того, когда я использовал Apache с .htaccess это было легко (RewriteBase) но в Nginx я нашел следующее решение:

location /sites/site1/ {
    try_files $uri /sites/site1/index.php?$args;
}

location /sites/site2/ {
    try_files $uri /sites/site2/index.php?$args;
}

...etc...

Теперь, поскольку я хотел бы добавить еще много приложений, я бы предпочел location блокировать передачу приложения Kohana на правильный путь. Я пробовал что-то вроде этого (это не будет работать для меня):

location /sites/([a-z0-9\-]+)/ {
    try_files $uri /sites/$1/index.php?$args;
}

Как вы можете видеть, я не эксперт по регулярным выражениям, но я хочу передать любой существующий подкаталог с именами, содержащими буквенно-цифровые символы и тире в соответствующий базовый путь. Благодарю.

1 ответ

Вам нужен префикс для location сделать сопоставление регулярных выражений. Попробуй это:

location ~* ^/sites/([a-z0-9\-]+)/ {
    try_files $uri /sites/$1/index.php?$args;
}
Другие вопросы по тегам