ฉันกำลังพยายามตั้งค่าเซิร์ฟเวอร์พัฒนา nginx / PHP ของฉันด้วยการกำหนดค่า vhost หลัก / catch-all vhost เพื่อให้ฉันสามารถสร้าง___.framework.loc
โดเมนไม่ จำกัด ได้ตามต้องการ
server {
listen 80;
index index.html index.htm index.php;
# Test 1
server_name ~^(.+)\.frameworks\.loc$;
set $file_path $1;
root /var/www/frameworks/$file_path/public;
include /etc/nginx/php.conf;
}
อย่างไรก็ตาม nginx ตอบกลับด้วยข้อผิดพลาด 404 สำหรับการตั้งค่านี้ ฉันรู้ว่า nginx และ PHP ทำงานได้และได้รับอนุญาตเนื่องจากการกำหนดค่าที่localhost
ฉันใช้งานได้ดี
server {
listen 80 default;
server_name localhost;
root /var/www/localhost;
index index.html index.htm index.php;
include /etc/nginx/php.conf;
}
ฉันควรตรวจสอบอะไรเพื่อค้นหาปัญหา นี่คือสำเนาของ php.conf ที่ทั้งคู่กำลังโหลด
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_index index.php;
# Keep these parameters for compatibility with old PHP scripts using them.
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# Some default config
fastcgi_connect_timeout 20;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_pass 127.0.0.1:9000;
}