Hóa ra các vị trí được kiểm soát bởi ajp ProxyPass trên trang web của tôi đang được xử lý trước khi chuyển hướng VirtualHost, điều này khiến tôi chú ý vì google đã lập chỉ mục hơn 25 nghìn trang tại ardownload.example.org - một tên miền phụ mà tôi chưa bao giờ sử dụng và không biết làm thế nào họ bắt đầu đi theo con đường đó. Họ cũng có khoảng 12 nghìn trang từ các tên miền phụ khác "không tồn tại". Tôi đã tìm ra vấn đề do thực tế là chuyển hướng không được tôn trọng nếu nó chạm vào vị trí được ủy quyền ajp.
Kết quả mong muốn là tất cả các tên miền phụ được chuyển hướng chính xác đến trang chính trong khi vẫn giữ nguyên url và chuỗi truy vấn.
Virtualhost hiện tại với chuyển hướng bị bỏ qua một phần:
<VirtualHost *:80>
ServerName example.org
ServerAlias *.example.org
RedirectPermanent / https://www.example.org/
</VirtualHost>
Proxy vị trí hiện tại gây ra lỗi.
<Location /tomcatlocation/>
ProxyPreserveHost on
ProxyPass ajp://127.0.0.1:8009/tomcatlocation/ retry=0
ProxyPassReverse ajp://127.0.0.1:8009/tomcatlocation/
</Location>
cái gì đó như foo.example.org/tomcatlocation/
hoặc foo.example.org/tomcatlocation
sẽ không chuyển hướng, trong khi cắt bớt nó thành foo.example.org/tomcatlocatio
sẽ chuyển hướng chính xác.
Tôi đã không có may mắn tìm kiếm thông tin về điều này. Cảm ơn.
apache2ctl -S:
Cấu hình máy chủ ảo:
*:80 là một NameVirtualHost
máy chủ mặc định www.example.org (/etc/apache2/sites-enabled/000-default.conf:1)
cổng 80 namevhost www.example.org (/etc/apache2/sites-enabled/000-default.conf:1)
cổng 80 namevhost example.org (/etc/apache2/sites-enabled/000-default.conf:10)
bí danh hoang dã *.example.org
cổng 80 namevhost example.net (/etc/apache2/sites-enabled/000-default.conf:15)
... các tên miền khác bị cắt bớt ...
*:443 là NameVirtualHost
máy chủ mặc định example.org (/etc/apache2/sites-enabled/default-ssl.conf:2)
cổng 443 namevhost example.org (/etc/apache2/sites-enabled/default-ssl.conf:2)
bí danh www.example.org
cổng 443 namevhost example.net (/etc/apache2/sites-enabled/default-ssl.conf:25)
bí danh www.example.net
... các tên miền khác bị cắt bớt ...
ServerRoot: "/etc/Apache2"
Tài liệu chínhRoot: "/var/www/html"
Nhật ký lỗi chính: "/var/log/apache2/error.log"
Mutex mặc định: dir="/var/lock/apache2"cơ chế=fcntl
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Bản đồ viết lại Mutex: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex ssl-stapling: using_defaults
Mutex proxy: using_defaults
Mutex ssl-cache: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Xác định: DUMP_VHOSTS
Xác định: DUMP_RUN_CFG
Người dùng: name="www-data" id=33
Nhóm: name="www-data" id=33