ฉันมีแอปพลิเคชัน PHP เก่าที่ทำงานด้วย Apache ตอนนี้ฉันต้องเปลี่ยนไปใช้ Nginx
กฎการเปลี่ยนเส้นทาง htaccess
php_value upload_max_filesize "5M"
AddType ข้อความ/x-component .htc
RewriteEngine เปิดอยู่
RewriteBase /brand/kit/summer-icecream/lacne
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(/admin/)
เขียนซ้ำ Cond %{REQUEST_URI} !(/setup/)
RewriteCond %{REQUEST_URI} !(/support/)
RewriteCond %{REQUEST_URI} !(/แชร์/)
เขียนซ้ำ Cond %{REQUEST_URI} !(/rss/)
เขียนซ้ำ Cond %{REQUEST_URI} !(/output/)
เขียนซ้ำ Cond %{REQUEST_URI} !(/upload/)
RewriteCond %{REQUEST_URI} !(/app_api/)
RewriteRule ^(.+)\.php$share/admin/$1.php [L]
RewriteRule app_api/(.+)\.php$share/app_api/$1.php [L]
ฉันได้ลองเปลี่ยนเส้นทางหลายวิธีเช่นด้านล่าง แต่ดูเหมือนว่าใช้งานไม่ได้ มันไม่ส่งไฟล์ PHP ไปยัง PHP-FPM
สถานที่ ~ brand/kit/summer-icecream/lacne/(.+)\.php$ {
ถ้า (!-e $request_filename){
เขียนใหม่ ^/brand/kit/summer-icecream/lacne/(.+)\.php$ /brand/kit/summer-icecream/lacne/share/admin/$1.php redirect;
}
}
ตำแหน่ง ~ (.+)\.php$ {
try_files $uri =404;
fastcgi_pass fastcgi_backend;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
รวม fastcgi_params;
fastcgi_read_timeout 600 วินาที;
fastcgi_connect_timeout 600 วินาที;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param HTTP_HOST $โฮสต์;
รวม /etc/nginx/fastcgi_config;
}
สำหรับการทดสอบ URI คำขอคือ:
http://127.0.0.1:8989/brand/kit/summer-icecream/lacne/login.php