Имеется машина под Win 7 SP1 64 bit Rus, 1С 8.3
На 80 порту стоит Apache 2.4.
Для обхода чужого кривого NLB (с 1С не связано) в httpd.conf были добавлены следующие строки:
<IfModule rewrite_module>
RewriteEngine On
# исключения для localhost
RewriteCond %{HTTP_HOST} 127\.0\.0\.1
RewriteRule (.*) %{REQUEST_URI} [QSA,L]
RewriteCond %{HTTP_HOST} localhost [NC]
RewriteRule (.*) %{REQUEST_URI} [QSA,L]
# меняем IP x.x.x.x на y.y.y.y
RewriteCond %{HTTP_HOST} x\.x\.x\.x
RewriteRule (.*) http://y.y.y.y%{REQUEST_URI} [QSA,END,P]
# тут похожая куча заменяемых IP-адресов и подсетей
# ...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [QSA,END,P]
</IfModule>
Показать
в браузере FireFox Quantum в качестве прокси прописано 127.0.0.1:80, 127.0.0.1 и localhost в исключениях, по 127.0.0.1 главная страница Апача показывается, перенаправление работает, URLы, где не надо заменять IP тоже работают правильно, НО!!!
перестали работать 1Совские HTTP-сервисы, т.е. запросы вида
выдают 404 Not found. Если выключить перенаправление, то есть поставить
RewriteEngine Off
и перезапустить Апач, то 1Совские HTTP-сервисы начинают работать, но зато, ясное дело, не работает замена IP-адресов. В результате работаем, как светофор.
Нельзя ли как-то сделать так, чтобы работали и 1Совские HTTP-сервисы и замена IP-адресов сразу?
Видимо, надо прописать какие-то добавочные правила RewriteCond/RewriteRule
Вопрос Чернышеского: "Что делать???" Помогите, пожалуйста.
Если при перенаправлении рубятся 1с- сервисы, значит они попадают под правила.
Можно исключить их из правил, добавив в каждое ваше правило дополнительно RewriteCond который исключает 1с-сервисы.
т.е. если в правиле написано RewriteCond, вы добавляете ещё один RewriteCond для 1с. ссылка
Другой путь,
закомментировать ваши правила и раскомментировать их по одному, и проверять работает 1с или нет. Найти правило, которое мешает работе 1с.
(2) Проблема не в том, что какое-то правило лишнее, а в том, что чего-то не хватает. Я и правила для localhost добавил, чтобы при обращении к нему незацикливалось, а так он мне и не нужен был, а без него всё работало. Но вот появилась задача поднять на этой машине 1С-ное HTTP - и понеслась.