Se dovedește că locațiile controlate de ajp ProxyPass pe site-ul meu sunt procesate înainte de redirecționarea VirtualHost, care mi-a atras atenția deoarece Google a indexat peste 25.000 de pagini la ardownload.example.org - un subdomeniu pe care nu l-am folosit niciodată și nu știu cum au început pe acel drum. De asemenea, au aproximativ 12k pagini din alte subdomenii care „nu există”. Am urmărit problema la faptul că redirecționarea nu este respectată dacă atinge o locație proxy ajp.
Rezultatul dorit ar fi ca toate subdomeniile să fie redirecționate corect către site-ul principal, păstrând în același timp url-ul și șirul de interogare.
VirtualHost curent cu redirecționare parțial ignorată:
<VirtualHost *:80>
ServerName example.org
ServerAlias *.example.org
RedirectPermanent / https://www.example.org/
</VirtualHost>
Proxy de locație curentă care provoacă eroarea.
<Location /tomcatlocation/>
ProxyPreserveHost on
ProxyPass ajp://127.0.0.1:8009/tomcatlocation/ retry=0
ProxyPassReverse ajp://127.0.0.1:8009/tomcatlocation/
</Location>
ceva asemănător cu foo.example.org/tomcatlocation/
sau foo.example.org/tomcatlocation
nu va redirecționa, în timp ce trunchiază-l la foo.example.org/tomcatlocatio
va redirecționa corect.
Nu am avut noroc să caut informații despre asta. Mulțumiri.
apache2ctl -S:
Configurare VirtualHost:
*:80 este un NameVirtualHost
server implicit www.example.org (/etc/apache2/sites-enabled/000-default.conf:1)
portul 80 namevhost www.example.org (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost example.org (/etc/apache2/sites-enabled/000-default.conf:10)
alias sălbatic *.example.org
port 80 namevhost example.net (/etc/apache2/sites-enabled/000-default.conf:15)
... alte domenii trunchiate...
*:443 este un NameVirtualHost
server implicit example.org (/etc/apache2/sites-enabled/default-ssl.conf:2)
portul 443 namevhost example.org (/etc/apache2/sites-enabled/default-ssl.conf:2)
alias www.example.org
portul 443 namevhost example.net (/etc/apache2/sites-enabled/default-ssl.conf:25)
alias www.example.net
... alte domenii trunchiate...
ServerRoot: „/etc/apache2”
DocumentRoot principal: „/var/www/html”
ErrorLog principal: „/var/log/apache2/error.log”
Mutex implicit: dir="/var/lock/apache2" mecanism=fcntl
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex ssl-stapling: using_defaults
Mutex proxy: using_defaults
Mutex ssl-cache: using_defaults
Fișier Pid: „/var/run/apache2/apache2.pid”
Definiți: DUMP_VHOSTS
Definiți: DUMP_RUN_CFG
Utilizator: name="www-data" id=33
Grup: name="www-data" id=33