ฉันซื้อ VPS ที่ใช้ Ubuntu 20.04 ฉันค่อนข้างใหม่สำหรับโฮสติ้งและ Linux ทั้งหมด และฉันประสบปัญหาในการตั้งค่าสถานการณ์ต่อไปนี้หรือหากเป็นไปได้:
ฉันมีโฟลเดอร์ /var/www ซึ่งมีโฟลเดอร์ย่อยมากมาย แต่ละคนมีเว็บไซต์
ฉันต้องการ ถ้ามีคนเข้าถึงโดเมนของฉัน (เช่น mydomain.com) เขาควรเห็นโฟลเดอร์ /var/www/codeiginiter4/ แต่เมื่อมีคนเกิน mydomain.com/foldername เขาควรเห็นเนื้อหาของ /var/www/foldername/
สิ่งที่ทำให้ยุ่งยากขึ้นเล็กน้อย:
CodeIgniter ใช้ .htaccess ต่อไปนี้สำหรับ apache:
RewriteEngine เปิดอยู่
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
สิ่งนี้ใช้ mydomain.com/foo กับ mydomain.com/index.php/foo สำหรับการกำหนดเส้นทาง URL ที่เป็นมิตรกับ CodeIgniter SEO สำหรับ nginx มีให้
ที่ตั้ง / {
try_files $uri $uri/ /index.php$is_args$args;
}
ฉันได้ทำงานกับ
ตำแหน่ง ~* ^/(สินทรัพย์|ไฟล์|หุ่นยนต์\.txt) { }
แต่ฉันมีปัญหาที่ว่าสิ่งที่คุณเพิ่มหลังจาก mydomain.com/ จะกำหนดเส้นทางไปยังโฟลเดอร์ CodeIgniter ของฉันแทนที่จะเป็นเว็บไซต์อื่นในโฟลเดอร์อื่น
จากความเข้าใจของฉัน try_files $uri $uri/ /index.php$is_args$args;
จะตรวจสอบ $ยูริ
(ไฟล์) แล้วตามด้วยโฟลเดอร์ $uri/
ก่อน ดังนั้นควรให้บริการโฟลเดอร์หากมี แต่ฉันมักจะลงท้ายด้วยหน้า CodeIgniter ของฉัน