ฉันได้กำหนดค่าหนึ่งในไฟล์กำหนดค่าเว็บอินสแตนซ์ที่มีตัวอย่างด้านล่างเพื่ออนุญาตให้การเปลี่ยนเส้นทางทำงานผ่านไฟล์อื่นโดยไม่จำเป็นต้องรีสตาร์ทเซิร์ฟเวอร์
RewriteMap redirects txt:/mnt/var/www/html/abc/content/abc/na/ac/config_en_us/redirects/redirects.txt
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond ${redirects:%1} >""
RewriteRule ^(.*)$ ${redirects:%1} [R=301,NC,L]
เมื่อพยายามเริ่ม httpd ใหม่หลังจากวางข้อมูลโค้ดฉันไม่สามารถเริ่ม apache ได้ รหัสเดียวกันทำงานบนเซิร์ฟเวอร์อื่น ๆ ไฟล์ถูกสร้างขึ้นและฉันได้ตรวจสอบสิทธิ์
ด้านล่างนี้เป็นข้อความแสดงข้อผิดพลาด
ข้อผิดพลาดทางไวยากรณ์ในบรรทัดที่ 69 ของ /etc/httpd/conf.d/abc.conf: RewriteMap: ไฟล์สำหรับการเปลี่ยนเส้นทางแผนที่ไม่พบ: / mnt / var / www / html / abc / เนื้อหา / abc / na / ac / config_en_us / การเปลี่ยนเส้นทาง /redirects.txt
ในที่สุดฉันก็สามารถนำเซิร์ฟเวอร์ขึ้นมาได้ แต่การแก้ไขไม่ถูกต้อง นี่คือสิ่งที่ฉันทำ
ฉันสร้างไฟล์เดียวกันโดยใช้ชื่อเดียวกันในพา ธ /etc/httpd/conf.d จากนั้นย้ายไปยังพา ธ ที่ต้องการหลังจากที่ apache สามารถค้นหาไฟล์และสร้างไฟล์ขึ้นมา ใครช่วยฉันเข้าใจสิ่งที่เกิดขึ้นได้ไหม
ls -l
บนเส้นทางที่กำหนดเพื่อดูว่าคุณได้รับข้อผิดพลาดใด คุณต้องตรวจสอบการอนุญาตของแต่ละองค์ประกอบในเส้นทางไม่ใช่แค่ชื่อไฟล์