Логотип   Простое и понятное управление
  Уникальные возможности по настройке
  Open Server скачали уже 1 021 987 раз!

Форум

Добро пожаловать, Гость!

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

Вопросы по работе с Apache, Nginx, PHP, MySQL, Sendmail и т.д.
Dimon-zmey
Сообщения: 2
C нами: 5 мес 11 дней

Непрочитанное сообщение 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]

Аватара пользователя
Максим
Сообщения: 4877
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 28 июн 2016, 13:18

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

Dimon-zmey
Сообщения: 2
C нами: 5 мес 11 дней

Непрочитанное сообщение Dimon-zmey » 29 июн 2016, 13:04

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

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

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


Вернуться в «Модули и инструменты»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей