Trebuie să redirecționez cererea pe care o primește un server web Apache, folosind user_agent pentru a filtra.
Ideea este că, dacă user_agent este „Mozilla/5.0 (Macintosh; Intel Mac OS X 12_2_1) AppleWebKit/605.1.15 (KHTML, ca Gecko) Version/15.2 Safari/605.1.15”, atunci proxy-ul trebuie să redirecționeze solicitarea către o mașină cu ip 192.168.1.40, dar dacă agentul utilizator nu este, trebuie să arate pagina principală.
Am următorul cod de redirecționat către mașina corectă:
RewriteEngine activat
RewriteCond %{HTTP_USER_AGENT} „=Mozilla/5.0 (Macintosh; Intel Mac OS X 12_2_1) AppleWebKit/605.1.15 (KHTML, ca Gecko) Versiunea/15.2 Safari/605.1.15”
RewriteRule ^/(.*)$ http://192.168.1.40:443/$1 [L,R=302]
Dar am o problemă. Când redirecționez la 192.168.1.40, trebuie să adaug și șirul de interogare, astfel încât dacă cererea este http://192.168.2.11/thisisthequery atunci trebuie să-l redirecționez către http://192.168.1.40/thisisthequery nu doar http://192.168.1.40
Am incercat urmatorul
RewriteRule ^/(.*)$ http://192.168.1.40:443/%{QUERY_STRING}$1 [L,R=302]
Dar nu merge, cum pot face asta??
IMPORTANT
Interogarea nu există în proxy, așa că dacă o solicit http://192.168.2.11/thisisthequery Cred că nici măcar nu încearcă să redirecționeze, deoarece răspunsul este o solicitare greșită (443). Deci, cum pot redirecționa înainte ca proxy-ul să returneze mesajul 443?