Apache Rewrite на основе имени хоста - PullRequest
0 голосов
/ 04 апреля 2019

Мой сайт большой, поэтому я зеркалирую его на другом сервере, используя Rsync, каждый час.

www.example.com (главная) www2.example.com (зеркало)

Но мне нужно, чтобы некоторые большие файлы (> 500 МБ) читались непосредственно в www2, потому что у моего второго сервера неограниченная пропускная способность, а у основного сервера пропускная способность только 1 ТБ.

Моя идея:

  • попробуйте прочитать большой файл в "www2"
  • если не найден, перенаправить на «www» (который действительно содержит файл).

Причина: пользователь пытался прочитать файл перед ежечасной rsync.

Это работает:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ https://www.example.com/$1 [NC,QSA]

Но поскольку он зеркальный (включая .htaccess), он вызывает цикл, если пользователь пытается прочитать удаленный файл из "www" (перенаправляя на себя).

Итак, я хочу создать «если» для запуска RewriteRule, только если источник (имя хоста) - www2.example.com. Если имя хоста www.example.com вернет 404. Это возможно? Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...