การสร้าง 'นามแฝง' หรือ 'symlink' ไปยังโฟลเดอร์อื่นใน apache


1
-/
|--bin
|--home
  |--user_1
    |--somefile.html
    |--somefile2.html
  |--user_2
    |--differentFile.html
|--var
  |--www
    |--file1.html

ฉันต้องการ URL ที่จะเป็นhttp://serverip/user_1/somefile.htmlแต่ตอนนี้มันให้บริการเฉพาะไฟล์จากโฟลเดอร์ "www"

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม.

ขอบคุณ


ในขณะที่ symlink จะทำงานหากการอนุญาตของผู้ใช้ถูกต้องคุณอาจต้องการตรวจสอบผู้ใช้ด้วยเช่นกัน
ernie

คำตอบ:


1

หากคุณต้องการให้ผู้ใช้สามารถเข้าถึง http://serverip/user_1/somefile.html

จากนั้นคุณจะทำเช่นนี้

ln -s /home/user_1 /var/www

โปรดทราบว่าคุณยังต้องมีสิทธิ์การอ่านที่เหมาะสมที่กำหนดไว้สำหรับ apache เพื่ออ่านไฟล์ใน / home / user_1

คุณสามารถทำสิ่งนี้ได้ใน apache configs ดูที่นี่https://stackoverflow.com/questions/4538572/apache-multiple-documentroot


หรือเพียงแค่ln -s /home/user_1 /var/www(ไม่มีcd) นอกจากนี้ยังถือว่าสิทธิ์ที่ถูกต้อง
เออร์นี่

mmhm เปลี่ยนมัน
เกี๊ยว

ขอบคุณขออภัยที่ฉันขาดความรู้ในหัวข้อนี้หากฉันต้องเพิ่มไฟล์อื่นฉันต้องทำ 'ln -s newfile.html' อีกครั้งหรือไม่
Joseph

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