Apache จะไม่แสดงรายการไดเรกทอรีแบบเต็ม


1

ฉันใช้ Apache บนคอมพิวเตอร์ Linux ที่บ้านของฉันเป็นเซิร์ฟเวอร์ชั่วคราวเพื่อแชร์ไฟล์ระหว่างเพื่อนบางคน เช่นฉันต้องการรายชื่อไดเรกทอรีสำหรับไฟล์เหล่านี้พร้อมกับไดเรกทอรีย่อย ฉันมีตัวเลือกดัชนีในไดเรกทอรีพารามิเตอร์และไดเรกทอรีจะดู ปัญหาคือมีไดเรกทอรีย่อยเดียวเท่านั้นที่สามารถดูได้ในขณะที่ไดเรกทอรีอื่นไม่อยู่ในรายการ ฉันมีสิทธิ์และความเป็นเจ้าของไฟล์และไดเรกทอรีทั้งหมดเหมือนกัน แต่ไม่มีการเปลี่ยนแปลงใด ๆ และถ้าฉันพยายามบังคับให้เข้าไปในไดเรกทอรีที่ซ่อนอยู่ฉันได้รับข้อความว่าไม่มีสิทธิ์ที่จำเป็น ความช่วยเหลือใด ๆ ที่นี่?

Directory directive from conf file:
    <Directory />
    Options Indexes FollowSymLinks
    AllowOverride None
    </Directory>
Permissions of Directory:
    drwxr-xr-x.  5 apache users 4096 Jan 22 17:17 DND
    drwxr-xr-x. 11 apache users 4096 Jan 16 08:16 Pathfinder
    -rwxr-xr-x.  1 apache users  119 Jan 19 17:30 README

ผู้เบิกทางและทุกสิ่งที่อยู่ในนั้นจะปรากฏขึ้นและ README จะทำงานเมื่อฉันกดผ่าน URL DND ไม่แสดงและไม่ทำงานเมื่อฉันส่งผ่าน URL


คุณต้องระบุการกำหนดค่า Apache ของคุณและอาจมีการอนุญาตไดเรกทอรี ฉันคิดว่านี่เป็นสาเหตุที่คุณถูกลดระดับลง

ขอโทษด้วยกับเรื่องนั้น. <Directory /> Options Indexes FollowSymLinks AllowOverride None </Directory> หากมีสิ่งอื่นที่จำเป็นฉันจะโพสต์ความคิดเห็นอื่น
psion

โปรดแก้ไขคำถามของคุณเพื่อกำหนดค่าไว้ที่นั่น เราจะต้องกำหนดค่ารวมทั้งผลลัพธ์ของรายการไดเรกทอรีที่ได้รับผลกระทบสิทธิ์

เรียกใช้ ls -l ในไดเรกทอรีที่เกี่ยวข้อง
Christian Mann

drwxr-xr-x. 5 apache apache 4096 Jan 22 17:17 DND drwxr-xr-x. 11 apache apache 4096 Jan 16 08:16 Pathfinder -rwxr-xr-x. 1 apache apache 119 Jan 19 17:30 README Pathfinder เป็นไดเรกทอรีเดียวที่ปรากฏขึ้นและไฟล์และไดเรกทอรีย่อยทั้งหมดจะปรากฏขึ้น ไฟล์ README และโฟลเดอร์ DND ไม่ปรากฏขึ้น การบังคับให้ README ใช้งานได้ แต่ไม่ใช่ DND
psion

คำตอบ:


1

ฉันมีปัญหาเดียวกันในโซลูชันโฮสต์ดังนั้นฉันจึงไม่สามารถเข้าถึงไฟล์ "Apache" Apache config ได้ - แม้ว่าฉันจะอนุญาต .htaccess ในโฟลเดอร์ย่อยของฉันและอนุญาต Options +Indexes ที่นั่น อย่างไรก็ตามแม้ว่าฉันจะทำเช่นนั้นไฟล์ที่เรียกว่า README ไม่ได้รับการจดทะเบียน - ในขณะที่ไฟล์ชื่อ Readme ทำ.

สิ่งนี้บอกฉันว่าอาจเป็นไปได้ README ถูกปิดใช้งานบางแห่งในการตั้งค่า Apache ระดับบนสุดและอาจใช้งานผ่าน IndexIgnore; ปัญหาที่ดูเหมือนจะเป็น:

เรื่อง htaccess สามารถคืนค่าการจัดทำดัชนีเริ่มต้น - ฟอรัมการเขียนสคริปต์ด้านเซิร์ฟเวอร์ PHP ที่ WebmasterWorld

เมื่อคุณติดตั้ง IndexIgnore คุณจะไม่สามารถแทนที่ได้จากโฟลเดอร์ย่อย ลองใช้คำสั่งอนุญาตให้ปฏิเสธ

... และฉันลองทำสิ่งนี้:

Options +Indexes
<Limit GET POST>
  order deny,allow
  deny from all
  allow from all
</Limit>
<Files "README">
  order deny,allow
  deny from all
  allow from all
</Files>

แต่ดูเหมือนว่าไม่ได้ช่วยด้วยชื่อไฟล์ README - อย่างน้อยก็ไม่ได้มีความเป็นไปได้ที่จะมี จำกัด อีกสิ่งหนึ่งก็คือ ReadmeName คุณลักษณะสำหรับ apache (เช่น. apache2 - เปลี่ยน ReadmeName เริ่มต้นใน Apache - Server Fault ); ซึ่งอาจทำให้เกิดปัญหา? คำถามที่คล้ายกัน: http - Apache ไม่แสดงไฟล์ README.TXT ในรายการไดเรกทอรี ฉันจะเปิดใช้งานได้อย่างไร - สแต็คล้น

อย่างไรก็ตามการแก้ไขอย่างรวดเร็วสำหรับฉันคือการเปลี่ยนชื่อไฟล์จาก allcaps README เพื่อผสมหมวก ...


0

มันอาจจะขึ้นอยู่กับลินุกซ์ distro ของคุณ แต่ใน Centos 6.X ค่าเริ่มต้นของ Apache Configuration จะมีคำสั่ง IndexIgnore ใน /etc/httpd/conf/httpd.conf ซึ่งแยกไฟล์ทั้งหมดที่ขึ้นต้นด้วย README

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