ແກ້ໄຂ “ນີ້ແມ່ນງຸ່ມງ່າມ / 404 ຄວາມຜິດພາດບໍ່ພົບ” ຫຼັງຈາກການຕິດຕັ້ງ “zend ການສະແດງອອກ”

ການເຮັດວຽກກັບ Middleware, ຕອບນີ້ຈະແກ້ໄຂບັນຫາຂອງ “ນີ້ແມ່ນງຸ່ມງ່າມ / 404 ຄວາມຜິດພາດບໍ່ພົບ” ຫຼັງຈາກການຕິດຕັ້ງ “zend ການສະແດງອອກ”.

ບັນຫາ

ບໍ່ດົນມານີ້, ມີຄວາມສົນໃຈທີ່ຈະສັງເກດເບິ່ງວ່າ ຕົວກາງ ການເຮັດວຽກ, ຂ້າພະເຈົ້າໄດ້ຕິດຕັ້ງຂອງ “zend ການສະແດງອອກ, ໂຄງກະດູກ” ເປັນຄູ່ມື “Start Quick: ການນໍາໃຊ້ Skeleton + ຕິດຕັ້ງ”:

$ composer ສ້າງ-zendframework ໂຄງການ/zend-ການສະແດງອອກ-ໂຄງກະດູກການສະແດງອອກ

ຫຼັງຈາກນີ້, ການກວດສອບຜົນໄດ້ຮັບ, ເຂົ້າໃນທີ່ຢູ່ຂອງຕົວທ່ອງເວັບ http://localhost / ການສະແດງອອກ / ສາທາລະນະ / ແລະຂ້າພະເຈົ້າໄດ້ຮັບຄວາມຜິດພາດດັ່ງຕໍ່ໄປນີ້:

Oops!
ນີ້ແມ່ນງຸ່ມງ່າມ.
 
ພວກເຮົາພົບ 404 ຄວາມຜິດພາດບໍ່ພົບ.
 
ທ່ານກໍາລັງຊອກຫາ ສໍາລັບການ ບາງສິ່ງບາງຢ່າງທີ່ບໍ່'t ມີຫຼືອາດຈະຍ້າຍ. ກວດສອບການອອກຫນຶ່ງໃນການເຊື່ອມຕໍ່ໃນຫນ້ານີ້ຫຼືຫົວຫນ້າກັບຄືນໄປບ່ອນທໍາອິດ.

ການແກ້ໄຂ

ຂໍ້ຄວາມຄວາມຜິດພາດທີ່ຊີ້ບອກວ່າຫນ້າບໍ່ພົບ, ເພາະສະນັ້ນຈຶ່ງ, ມັນເບິ່ງຄືບັນຫາ PATH ເປັນ (ວິທີການ) ສໍາລັບໄຟລ໌ຄໍາຮ້ອງສະຫມັກ.

ການເບິ່ງເປັນປະມານ, ຂ້າພະເຈົ້າສະຫຼຸບໄດ້ວ່ານີ້ເກີດຂຶ້ນເນື່ອງຈາກວ່າຂ້າພະເຈົ້າບໍ່ໄດ້ສ້າງໂຄງການໂດຍກົງໃນການເຜີຍແພ່ລະບົບຮາກໄດ້ (ex: www / htdoc ou /), ແຕ່ໃນ Subdirectory ເປັນ, ວິທີການທີ່: http://localhost /ການສະແດງອອກ/ສາທາລະນະ /.

ໃນທີ່ສຸດ, ມັນເບິ່ງຄືວ່າຫລື ການສະແດງອອກ ມີຄວາມຫຍຸ້ງຍາກບາງຢ່າງທີ່ມີ ຖານ Url / ເສັ້ນທາງກ້າວສູ່ Base. ໃນຄວາມເປັນຈິງສະຖາປັດຕະທີ່ສຸດຂອງ Zend Framework ແມ່ນຕົກລົງເຫັນດີວ່າການພິມເຜີຍແຜ່ຂອງລະບົບດັ່ງກ່າວຈະຕ້ອງ “ສາທາລະນະ /“, ດັ່ງນັ້ນຫຼາຍດັ່ງນັ້ນຖ້າຫາກວ່າທ່ານດໍາເນີນການເຄື່ອງແມ່ຂ່າຍເວັບທີ່ຊີ້ໄປທີ່ “ສາທາລະນະ /“, ຄໍາຮ້ອງສະຫມັກທີ່ເນັ້ນຕາມປົກກະຕິ.

ແລ່ນຄໍາສັ່ງ “php -S 0.0.0.0:8080 -t ສາທາລະນະ /” ຢູ່ປາຍຍອດໄດ້ (ຄໍາສັ່ງ):

Taylor @ taylor-pc MINGW64 / c / wamp64 / www / ການສະແດງອອກ
$ php -S 0.0.0.0:8080 -t public/
PHP 7.0.10 ການພັດທະນາ Server ເລີ່ມຕົ້ນທີ່ Thu Aug 10 15:55:00 2017
ຟັງກ່ຽວກັບ http://0.0.0.0:8080
ຮາກ Document ແມ່ນ C:\wamp64\www\expressive\public
Press Ctrl-C to quit.
[Thu Aug 10 15:55:34 2017] 127.0.0.1:65106 [404]: /ການສະແດງອອກ / ສາທາລະນະ /

ໃນປັດຈຸບັນແມ່ນ, ການດໍາເນີນການນີ້ທ່ານສາມາດເຂົ້າເຖິງ http://localhost / ການສະແດງອອກ / ສາທາລະນະ / ໂດຍບໍ່ມີການຜິດພາດຢ່າງໃດ.

ແຕ່ບໍ່ໄດ້ຮັບການສະເຫມີວ່າຊີ້ໃຫ້ເຫັນເຖິງ “ສາທາລະນະ /“, ຈະມີຄວາມ o Middleware los / basepath ເປັນວິທີແກ້ບັນ. ການຕິດຕັ້ງແມ່ນງ່າຍດາຍ:

$ ນັກແຕ່ງເພງ ຮຽກຮ້ອງໃຫ້ມີ ໄດ້/basepath

ຫຼັງຈາກນີ້, ພຽງແຕ່ເພີ່ມການ Middleware ເປັນຫນຶ່ງໃນຄັ້ງທໍາອິດໃນຄໍາຮ້ອງສະຫມັກຂອງທ່ານ. ສໍາລັບການຍົກຕົວຢ່າງ, ຂ້າພະເຈົ້າເຮັດໃຫ້ໂທໄດ້ບັນທຶກໄວ້ “ສາທາລະນະ FunctionAllINC”, ທັນທີຫຼັງຈາກທີ່ “$app” ມັນໄດ້ຖືກເລີ່ມຕົ້ນ:

1
$app->ທໍ່(ໃຫມ່ \LosMiddleware  BasePath  BasePath('/ ການສະແດງອອກ / ສາທາລະນະ'));

ດັ່ງນັ້ນ, ມັນ!

ອ້າງອິງ

Access / path / to / ໄດ້ຮັບສາທາລະນະ 404 ຫນ້າ
Middleware Path ຖານສໍາລັບ PHP

ຈໍານວນທັງຫມົດ: 554

A ການທົບທວນຄືນກ່ຽວກັບ “ແກ້ໄຂ “ນີ້ແມ່ນງຸ່ມງ່າມ / 404 ຄວາມຜິດພາດບໍ່ພົບ” ຫຼັງຈາກການຕິດຕັ້ງ “zend ການສະແດງອອກ”

  1. Juciellen Cabrera ກ່າວວ່າ:

    ຂອງມູນຄ່າທີ່ຍິ່ງໃຫຍ່! ມັນຊ່ວຍໃຫ້ຂ້າພະເຈົ້າອະທິບາຍບັນຫານີ້ວ່າແມ່ນຄ້າຍຄືກັນຫຼາຍ. ຂໍຂອບໃຈ!

ອອກຈາກ Reply ເປັນ

ທີ່ຢູ່ອີເມວຂອງທ່ານຈະບໍ່ໄດ້ຮັບການຈັດພີມມາ. ທົ່ງນາທີ່ກໍານົດໄວ້ແມ່ນຫມາຍດ້ວຍ *