ปรากฎว่าตำแหน่งที่ควบคุมโดย ajp ProxyPass บนไซต์ของฉันกำลังถูกประมวลผลก่อนการเปลี่ยนเส้นทาง VirtualHost ซึ่งทำให้ฉันสนใจเพราะ Google ได้จัดทำดัชนีหน้าเว็บมากกว่า 25,000 หน้าที่ ardownload.example.org ซึ่งเป็นโดเมนย่อยที่ฉันไม่เคยใช้และไม่รู้วิธีการ พวกเขาเริ่มไปตามเส้นทางนั้น พวกเขายังมีหน้าประมาณ 12,000 หน้าจากโดเมนย่อยอื่นๆ ที่ "ไม่มีอยู่" ฉันตรวจสอบปัญหากับข้อเท็จจริงที่ว่าการเปลี่ยนเส้นทางไม่ได้รับการเคารพหากพบตำแหน่งพร็อกซี ajp
ผลลัพธ์ที่ต้องการคือโดเมนย่อยทั้งหมดจะถูกเปลี่ยนเส้นทางไปยังไซต์หลักอย่างถูกต้องโดยที่ยังคงรักษา URL และสตริงข้อความค้นหาไว้
VirtualHost ปัจจุบันที่มีการเปลี่ยนเส้นทางที่ถูกละเว้นบางส่วน:
<VirtualHost *:80>
ServerName example.org
ServerAlias *.example.org
RedirectPermanent / https://www.example.org/
</VirtualHost>
พร็อกซีตำแหน่งปัจจุบันทำให้เกิดข้อผิดพลาด
<Location /tomcatlocation/>
ProxyPreserveHost on
ProxyPass ajp://127.0.0.1:8009/tomcatlocation/ retry=0
ProxyPassReverse ajp://127.0.0.1:8009/tomcatlocation/
</Location>
สิ่งที่ต้องการ foo.example.org/tomcatlocation/
หรือ foo.example.org/tomcatlocation
จะไม่เปลี่ยนเส้นทางในขณะที่ตัดทอนไปที่ foo.example.org/tomcatlocatio
จะเปลี่ยนเส้นทางอย่างถูกต้อง
ฉันไม่มีโชคในการค้นหาข้อมูลเกี่ยวกับเรื่องนี้ ขอบคุณ.
apache2ctl -S:
การกำหนดค่า VirtualHost:
*:80 เป็น NameVirtualHost
เซิร์ฟเวอร์เริ่มต้น www.example.org (/etc/apache2/sites-enabled/000-default.conf:1)
พอร์ต 80 namevhost www.example.org (/etc/apache2/sites-enabled/000-default.conf:1)
พอร์ต 80 namevhost example.org (/etc/apache2/sites-enabled/000-default.conf:10)
นามแฝงอิสระ *.example.org
พอร์ต 80 namevhost example.net (/etc/apache2/sites-enabled/000-default.conf:15)
... โดเมนอื่นถูกตัดทอน ...
*:443 เป็น NameVirtualHost
เซิร์ฟเวอร์เริ่มต้น example.org (/etc/apache2/sites-enabled/default-ssl.conf:2)
พอร์ต 443 namevhost example.org (/etc/apache2/sites-enabled/default-ssl.conf:2)
นามแฝง www.example.org
พอร์ต 443 namevhost example.net (/etc/apache2/sites-enabled/default-ssl.conf:25)
นามแฝง www.example.net
... โดเมนอื่นถูกตัดทอน ...
รูทเซิร์ฟเวอร์: "/etc/apache2"
รูทเอกสารหลัก: "/var/www/html"
ErrorLog หลัก: "/var/log/apache2/error.log"
ค่าเริ่มต้นของ Mutex: dir="/var/lock/apache2" กลไก=fcntl
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-เย็บเล่ม-รีเฟรช: using_defaults
Mutex การเย็บ ssl: using_defaults
พร็อกซี Mutex: using_defaults
Mutex ssl-cache: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
กำหนด: DUMP_VHOSTS
กำหนด: DUMP_RUN_CFG
ผู้ใช้: name="www-data" id=33
กลุ่ม: name="www-data" id=33