2013-12-02 3 views
10

Я хотел бы настроить несколько путей внутри сайта (например,/foo/and/bar /) таким же образом. Для того, чтобы избежать копирования-вставки, я полагал, что я должен использовать один блок определения местоположения, но единственный способ я нашел для этого, что является использование регулярных выражений, таких как:Nginx та же конфигурация для нескольких путей

location ~ ^/(foo|bar)/ { 
    ... 
} 

Является ли это лучший способ или есть лучшая альтернатива?

ответ

5

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

location /foo { 
    include foo.conf; 
} 
location /bar { 
    include foo.conf; 
} 

Внутри foo.conf вы могли бы написать любой конфигурации, которая находится в виде location объема
Heres случайная выборка сниппет:

root /foo/bar; 
try_files $uri /index.html; 
+1

Interes но это означает разделение конфигурации на 2 или более отдельных файла. Я думаю, это может стоить сделать для очень загруженного сайта, если он обеспечивает измеримое улучшение производительности. – aditsu

+0

также не уверен, что он разрешит два корня, может понадобиться псевдоним для второго. – blamb

Смежные вопросы