Страница 1 из 1

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

Добавлено: 28 июн 2016, 12:57
Dimon-zmey
Делаю сайт с субдоменами и поэтому есть файлы, которые есть в корне, а есть файлы для конкретного домена. Хочу сделать, что если файл найден не был, то искать в директории домена. Однако заметил, что код, приведенный ниже, работает только при отключении обработки статики 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]

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

Добавлено: 28 июн 2016, 13:18
Максим
Вы же сами ответили на свой вопрос. Статику обрабатывает Nginx, поэтому какие вы там правила прописываете для Apache в htaсcess ему глубого до лампочки. Прописывайте правила для Nginx создав собственный конфиг в домене.

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

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

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

location /domains {
root %hostdir%/domains/;
}