ฉันมีปัญหาในการทำให้ไดเรกทอรีย่อยทำหน้าที่เป็น public_html สำหรับโดเมนหลักของฉันและรับวิธีแก้ปัญหาที่ทำงานกับไดเรกทอรีย่อยของโดเมนนั้นด้วย
การโฮสต์ของฉันทำให้ฉันสามารถโฮสต์ไซต์ได้หลายไซต์ซึ่งทั้งหมดนั้นใช้งานได้ดี ฉันได้ตั้งค่าโฟลเดอร์ย่อยภายใต้ไดเรกทอรี~ / public_html /ชื่อ/ domains / ของฉันที่ฉันสร้างโฟลเดอร์สำหรับแต่ละเว็บไซต์แยกกัน เช่น
- public_html
- โดเมน
- websiteone
- websitetwo
- websitethree
- ...
- โดเมน
สิ่งนี้ทำให้เว็บไซต์ของฉันเป็นระเบียบเรียบร้อย ปัญหาเดียวก็คือการได้รับ "โดเมนหลัก" ของฉันเพื่อให้พอดีกับระบบนี้ ดูเหมือนว่าโดเมนหลักของฉันจะผูกติดอยู่กับบัญชีของฉัน (หรือ Apache หรืออะไรบางอย่าง) ดังนั้นฉันจึงไม่สามารถเปลี่ยน "รากเอกสาร" ของโดเมนนี้ได้ ฉันสามารถกำหนดรากของเอกสารสำหรับโดเมนอื่น ๆ ("Addon Domains") ที่ฉันเพิ่มใน cPanel ได้โดยไม่มีปัญหา แต่โดเมนหลักนั้นแตกต่างกัน
ฉันได้รับคำสั่งให้แก้ไขไฟล์. htaccess เพื่อเปลี่ยนเส้นทางโดเมนหลักไปยังไดเรกทอรีย่อย สิ่งนี้ดูเหมือนจะใช้งานได้ดีและเว็บไซต์ของฉันทำงานได้ดีบนหน้าแรก / หน้าดัชนี
ปัญหาที่ฉันมีคือถ้าฉันพยายามนำทางเบราว์เซอร์ของฉันเพื่อพูดโฟลเดอร์รูปภาพ (เพียงแค่ตัวอย่าง) ของเว็บไซต์หลักของฉันเช่นนี้:
www.yourmaindomain.com/images/
ดูเหมือนว่าจะไม่สนใจการเปลี่ยนเส้นทางและแสดงไดเรกทอรีเซิร์ฟเวอร์ทั้งหมดใน URL เช่นนี้
www.yourmaindomain.com/domains/yourmaindomain/images/
มันยังคงแสดงหน้า "ดัชนีของ / ภาพ" ที่ถูกต้องและแสดงรายการรูปภาพทั้งหมดของฉัน
นี่คือตัวอย่างของไฟล์. htaccess ของฉันที่ฉันใช้:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$
RewriteCond %{REQUEST_URI} !^/domains/yourmaindomain/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /domains/yourmaindomain/$1
RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$
RewriteRule ^(/)?$ domains/yourmaindomain/index.html [L]
ไฟล์ htaccess นี้ดูถูกต้องหรือไม่ ฉันแค่ต้องสร้างมันขึ้นมาเพื่อให้โดเมนหลักของฉันทำงานเหมือนโดเมน addon และเป็นไดเรกทอรีย่อยที่เป็นไปตามกฎการเปลี่ยนเส้นทาง