
Имея более чем 15-летний опыт использования веб-сервера Apache, я хотел дать новому серверу шанс. ;) Я пытался подправить файлы конфигурации NGINX для краткости.
Сайт обычно перенаправляет весь трафик в определенный index.php
, но у меня есть два каталога privacy
, eula
которые содержат отдельные index.php
, поэтому для этих двух каталогов я хочу, чтобы он просто вызывал файлы в каталогах.
Например:
location ~ /(privacy|eula) {
try_files $uri $uri/ =404;
}
заставляет мой браузер загружать содержимое страниц в виде файла .dms.
Если я разделю локацию на две части следующим образом:
location /privacy {
try_files $uri $uri/ =404;
}
location /eula {
try_files $uri $uri/ =404;
}
Работает так, как и задумано.
Я поискал и также нашел предложение сделать это таким образом, но это имело тот же эффект location ~ ^/(privacy|eula)
. Мне просто придется жить с тем фактом, что NGINX очень многословен, или что я делаю не так?
Спасибо
решение1
Theрегулярное выражение location
Блоки оцениваются по порядку, пока не будет найдено совпадение.
В вашем случае вы разместили location ~ /(privacy|eula)
выше location ~ \.php$
блок, так что подобный URI /eula/index.php
не будет обработан правильным местоположением и вместо этого будет загружен.
Поместите location ~ /(privacy|eula)
блокпослеблок location ~ \.php$
.
Видетьэтот документдля получения подробной информации.