Назад | Перейти на главную страницу

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;
}

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

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

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