Настройка веб-сервера / домена для пересылки всех каталогов / файлов, кроме определенных

#apache #http #dns #virtualhost #httpd.conf

#apache #http #dns #virtualhost #httpd.conf

Вопрос:

Конечная цель: я хотел бы создать веб-сервер, который пересылает все запросы, кроме определенных каталогов.

Например:
site.com -> target.com
site.com/anything -> target.com
site.com/anythingElse.php -> target.com
но…
site.com/specificPath -> site.com/specificPath
site.com/specificFile.php -> site.com/specificFile.php

В стороне: было бы здорово, если бы сервер мог также обрабатывать несколько доменов (виртуальных хостов) и отдельные сертификаты SSL для каждого из этих доменов.

Я рад использовать переадресацию веб-сервера, записи CNAME и т. Д. Возможно, вы можете помочь с тем, что, по вашему мнению, является наилучшей практикой в этом сценарии.

Ответ №1:

Существует метод с регулярным выражением, называемый отрицательным прогнозом, он предназначен для подобных случаев, вот примерный пример в контексте virtualhost:

 RedirectMatch ^/(?!specificPath|specificFile.php)(.*) http://target.example.com/$1
  

примечание для редактирования: если вам нужно обратное проксирование (вы сказали «вперед», но я думал, что вы хотите перенаправить извне), просто дайте мне знать.