Назад | Перейти на главную страницу

Apache htaccess обрабатывается после директив прокси

Я использую Apache 2.4 в Linux. У меня есть рабочий .htaccess файл.

В качестве теста делаю перенаправление /ws/xyz123 к https://www.google.com.

Поэтому я прошу http://example.com/ws/xyz123 и меня правильно перенаправляют в Google.

Проблема возникает, когда я устанавливаю обратный прокси для /ws каталог следующим образом:

ProxyPass        /ws http://192.168.25.2:7003/ws retry=0
ProxyPassReverse /ws http://192.168.25.2:7003/ws

Прокси работает нормально, но .htaccess теперь игнорируется. Если я закомментирую строки прокси, .htaccess снова работает. Мне нужно, чтобы оба работали. Есть ли способ разрешить .htaccess работать с прокси на месте.

В ProxyPass /ws http://192.168.25.2:7003/ws это просто альтернативный синтаксис для ProxyPass, что эквивалентно

<Location "/ws">
    ProxyPass "http://192.168.25.2:7003/ws"
</Location>

Когда вы используете mod_proxy внутри <Location>, Apache никогда не смотрит в каталог (с тем же путем относительно DocumentRoot), опуская все директивы в вашем .htaccess файл.

Вы должны переместить директивы в конфигурацию вашего сервера, т.е. использовать их в <Location> или <VirtualHost> контексты вместо .htaccess контекст.