ປ່ຽນເສັ້ນທາງ URL ເວບໄຊທ໌ຈາກ ໜຶ່ງ Server ໄປທີ່ Server ທີ່ແຕກຕ່າງກັນໃນ Apache


ດັ່ງທີ່ໄດ້ສັນຍາໄວ້ໃນສອງບົດຂຽນກ່ອນ ໜ້າ ນີ້ຂອງພວກເຮົາ (ສະແດງເນື້ອຫາທີ່ ກຳ ນົດເອງໂດຍອີງໃສ່ Browser), ໃນບົດຄວາມນີ້ພວກເຮົາຈະອະທິບາຍວິທີການ ດຳ ເນີນການປ່ຽນເສັ້ນທາງໄປຫາຊັບພະຍາກອນທີ່ຖືກຍ້າຍຈາກເຄື່ອງແມ່ຂ່າຍ ໜຶ່ງ ໄປຫາເຄື່ອງແມ່ຂ່າຍທີ່ແຕກຕ່າງກັນໃນ Apache ໂດຍໃຊ້ໂມດູນ mod_rewrite.

ສົມມຸດວ່າທ່ານ ກຳ ລັງອອກແບບເວັບໄຊທ໌ອິນຕຣາເນັດຂອງບໍລິສັດຂອງທ່ານ. ທ່ານໄດ້ຕັດສິນໃຈເກັບຮັກສາເນື້ອຫາແລະຮູບແບບ (ເອກະສານ HTML, JavaScript, ແລະ CSS) ໄວ້ໃນເຄື່ອງແມ່ຂ່າຍ ໜຶ່ງ ອັນແລະເອກະສານໃນອີກອັນ ໜຶ່ງ - ບາງທີອາດຈະແຂງແຮງກວ່າເກົ່າ.

ເຖິງຢ່າງໃດກໍ່ຕາມ, ທ່ານຕ້ອງການໃຫ້ການປ່ຽນແປງນີ້ມີຄວາມໂປ່ງໃສຕໍ່ຜູ້ໃຊ້ຂອງທ່ານເພື່ອວ່າພວກເຂົາຍັງສາມາດເຂົ້າເຖິງເອກະສານໄດ້ທີ່ URL ທຳ ມະດາ.

ໃນຕົວຢ່າງຕໍ່ໄປນີ້, ເອກະສານທີ່ມີຊື່ວ່າ assets.pdf ໄດ້ຖືກຍ້າຍຈາກ/var/www/html ໃນປີ 192.168.0.100 (ຊື່ໂຮດ: ເວັບ) ໄປຫາທີ່ດຽວກັນໃນປີ 192.168.0.101 (ຊື່ໂຮດ: web2) .

ເພື່ອໃຫ້ຜູ້ໃຊ້ສາມາດເຂົ້າເບິ່ງເອກະສານນີ້ເມື່ອພວກເຂົາຄົ້ນຫາ 192.168.0.100/assets.pdf , ເປີດແຟ້ມການຕັ້ງຄ່າຂອງ Apache ໃນ 192.168.0.100 ແລະເພີ່ມກົດລະບຽບການຂຽນ ໃໝ່ ດັ່ງຕໍ່ໄປນີ້ (ຫຼືທ່ານຍັງສາມາດເພີ່ມກົດລະບຽບຕໍ່ໄປນີ້) ກັບແຟ້ມ .htaccess ຂອງທ່ານ):

RewriteRule "^(/assets\.pdf$)" "http://192.168.0.101$1"  [R,L]

ບ່ອນທີ່ $1 ແມ່ນບ່ອນເກັບເງິນ ສຳ ລັບສິ່ງໃດສິ່ງ ໜຶ່ງ ທີ່ກົງກັບ ຄຳ ເວົ້າທີ່ປົກກະຕິພາຍໃນວົງເລັບ.

ປະຈຸບັນບັນທຶກການປ່ຽນແປງ, ຢ່າລືມທີ່ຈະເລີ້ມ Apache, ແລະເບິ່ງວ່າຈະມີຫຍັງເກີດຂື້ນໃນເວລາທີ່ພວກເຮົາພະຍາຍາມເຂົ້າເຖິງຊັບສິນ .pdf ໂດຍການເຂົ້າເບິ່ງ 192.168.0.100/assets.pdf:

ໃນຂ້າງເທິງຂ້າງລຸ່ມນີ້ພວກເຮົາສາມາດເຫັນໄດ້ວ່າ ຄຳ ຮ້ອງຂໍທີ່ຖືກຮ້ອງຂໍ ສຳ ລັບຊັບສິນ .pdf ໃນ 192.168.0.100 ໄດ້ຖືກຈັດການຕົວຈິງໃນປີ 192.168.0.101.

# tail -n 1 /var/log/apache2/access.log

ໃນບົດຂຽນນີ້ພວກເຮົາໄດ້ປຶກສາຫາລືກ່ຽວກັບວິທີການ ດຳ ເນີນການປ່ຽນເສັ້ນທາງໄປຫາຊັບພະຍາກອນທີ່ຖືກຍ້າຍໄປທີ່ server ອື່ນ. ເພື່ອຫໍ່, ຂ້ອຍຂໍແນະ ນຳ ໃຫ້ທ່ານເບິ່ງຄູ່ມືການປ່ຽນເສັ້ນທາງຂອງ Apache ເພື່ອການອ້າງອີງໃນອະນາຄົດ.

ໃນຖານະເປັນສະເຫມີ, ຮູ້ສຶກບໍ່ເສຍຄ່າທີ່ຈະໃຊ້ແບບຟອມຄໍາເຫັນຂ້າງລຸ່ມນີ້ຖ້າທ່ານມີຄວາມກັງວົນກ່ຽວກັບບົດຄວາມນີ້. ພວກເຮົາຫວັງວ່າຈະໄດ້ຍິນຂ່າວຈາກທ່ານ!