После настройки нескольких приложений 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;
}