Apache ไม่พบโฟลเดอร์ในระบบไฟล์ ผนวก“ \ xe2 \ x80 \ x9d” ที่ส่วนท้ายของเส้นทางไฟล์


10

ฉันมีสามโฮสต์เสมือนที่ทำงานใน apache2 บน Macintosh ส่วนตัวของฉันที่ใช้งาน OS X Mavericks และฉันรู้สึกสับสน พวกเขาถูกกำหนดค่าในไฟล์ httpd-vhosts.conf ของฉันดังนี้:

<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents"
ServerName localhost
ServerAlias localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents/dev1"
ServerName dev1.local
ServerAlias www.dev1.local
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents/dev2"
ServerName dev2.local
ServerAlias www.dev2.local
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents/dev3”
ServerName dev3.local
ServerAlias www.dev3.local
</VirtualHost>

หมายเหตุ: รายการแรกให้ฉันพิมพ์ใน "localhost" และโหลดตามที่คุณคาดหวังโดยไม่ต้องโฮสต์เสมือนทำงาน

dev1 และ dev2 ทำงานได้ดี แต่ฉันพบข้อผิดพลาด 404 ว่า "ไม่พบ URL ที่ร้องขอ / บนเซิร์ฟเวอร์นี้" เมื่อฉันพยายามโหลด dev3 บนเครื่องโลคอล โฟลเดอร์ Dev ทั้งสามนั้นมีการอนุญาตเดียวกันกับที่ฉันได้ทำการตรวจสอบชื่อ เมื่อฉันตรวจสอบ error_log ฉันพบสิ่งนี้:

[ศุกร์ 24 มกราคม 12:55:07 2014] [ข้อผิดพลาด] [ลูกค้า 127.0.0.1] ไม่มีไฟล์: / Library / เว็บเซิร์ฟเวอร์ / เอกสาร / dev3 \ xe2 \ x80 \ x9d

ไม่มีใครรู้ว่าทำไม Apache กำลังผนวก "\ xe2 \ x80 \ x9d" ที่ส่วนท้ายของเส้นทางโฟลเดอร์หรือทำไม dev3 ไม่โหลด? (ฉันสงสัยว่าทำไมตัวละครที่ต่อท้ายแบบสุ่มเหล่านี้คือสาเหตุ) ยินดีต้อนรับอินพุตใด ๆ ! ขอบคุณที่อ่าน!

คำตอบ:


16
DocumentRoot "/Library/WebServer/Documents/dev3”
                                               ^----- no proper quotation mark :9

หากคุณติดตั้ง php:

<?php
echo "\xe2\x80\x9d";

// or

echo utf8_decode("\xe2\x80\x9d");

// should give you ”

2
makes a "Not Bad" face and face palms hand through headทีนี้ดูสิว่ามันสมเหตุสมผลมาก สิ่งนี้เกิดขึ้นกับฉันด้วยฟอร์ม HTML ด้วย ... ขอบคุณ! ฉันเกาหัวมาประมาณหนึ่งชั่วโมงแล้ว อักขระนั้นถูกพิมพ์ออกมาอย่างไรกับเครื่องหมายคำพูดปกติ @DanFromGermany
ลุง Nerdicus

@ UncleNerdicus ขึ้นอยู่กับโปรแกรมแก้ไขข้อความของคุณ! ฉันใช้ NetBeans, notepad ++ และ vi กับทุกอย่างจริงๆและไม่เคยมีปัญหาเช่นนี้เลย
Daniel W.

1
@DavidHoude มันทำให้ฉันรออีกไม่กี่นาที (ตัวนับโง่!) ฉันยังไม่ลืม!
ลุง Nerdicus

1
@ UncleNerdicus ถ้าคุณเคยพบกับการ^Mจบบรรทัดหรือที่คล้ายกันมันเป็นเพราะการสิ้นสุดบรรทัดผิด ( \r\nตัวอักษร) dos / unix / mac (มีเครื่องมือ: dos2unix ฯลฯ ) ในกรณี D
Daniel W.

2
คุณไม่รู้หรอกว่าฉันมีความสุขมากแค่ไหนเมื่อฉันอ่านวิธีนี้ เข้าร่วมชุมชนนี้เพื่อโหวต
roberrrt-s

1

คุณพลาดVirtualHostการตั้งค่า

NG: DocumentRoot "/Library/WebServer/Documents/dev2"

ตกลง: DocumentRoot /Library/WebServer/Documents/dev2


สิ่งนี้แก้ไขได้สำหรับฉัน ขอบคุณ
Bashar Abdullah

0

DocumentRoot "/ Library / WebServer / Documents"

มันควรจะเป็น

DocumentRoot / Library / WebServer / Documents

ไม่ "" ใน DocumentRoot


1
ยินดีต้อนรับสู่ Server Fault! แม้ว่าคำตอบของคุณอาจจะถูกต้อง แต่เป็นคำตอบเดียวกับที่เรามีอยู่แล้ว
jornane
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.