Apache + Nginx поиск файлов в другой директории

Вопросы по работе с Apache, Nginx, PHP, MySQL, Sendmail и т.д.
Dimon-zmey
Сообщения: 2
Зарегистрирован:
28 июн 2016, 11:44

Apache + Nginx поиск файлов в другой директории

Dimon-zmey » 28 июн 2016, 12:57

Делаю сайт с субдоменами и поэтому есть файлы, которые есть в корне, а есть файлы для конкретного домена. Хочу сделать, что если файл найден не был, то искать в директории домена. Однако заметил, что код, приведенный ниже, работает только при отключении обработки статики nginx'ом, чего делать не хотелось бы. Есть ли другие возможности осуществить задуманное, чтоб не отключать обработку статики?

Например 2 файла размещены по пути "/domains/cms.site.com/", но при вызове:
http://cms.site.com/test.php - срабатывает
http://cms.site.com/test.png - ошибка 404

В htaсcess прописал:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/domains/.*
RewriteRule ^(.*)$ /domains/%{HTTP_HOST}/$1 [L]
Аватара пользователя
Максим
Сообщения: 5392
Зарегистрирован:
11 дек 2010, 20:29
Контактная информация:

Re: Apache + Nginx поиск файлов в другой директории

Максим » 28 июн 2016, 13:18

Вы же сами ответили на свой вопрос. Статику обрабатывает Nginx, поэтому какие вы там правила прописываете для Apache в htaсcess ему глубого до лампочки. Прописывайте правила для Nginx создав собственный конфиг в домене.
Dimon-zmey
Сообщения: 2
Зарегистрирован:
28 июн 2016, 11:44

Re: Apache + Nginx поиск файлов в другой директории

Dimon-zmey » 29 июн 2016, 13:04

Максим, спасибо за подсказку. Я в конфигурации серверов не силен, использую следующую конструкцию (вычитал в интернете), однако файл не находит, выдает ошибку 403, что я делаю не так?:

location / {
root "%hostdir%";
try_files $uri $uri/ /domains/$http_host/$uri =403;
}

location /domains {
root %hostdir%/domains/;
}
Ответить