ฉันมีไฟล์การกำหนดค่า Apache ที่มีกฎการเขียนซ้ำหลายข้อ
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://website.uri/$1 [R,L]
RewriteEngine เปิดอยู่
RewriteCond %{REQUEST_FILENAME} -s [หรือ]
RewriteCond %{REQUEST_FILENAME} -l [หรือ]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^p/(.*)$ index.php?rqt=page/index/url/$1 [NC,L]
RewriteRule ^(.*)$ index.php?rqt=$1 [NC,L,QSA]
<FilesMatch "\.(ttf|otf|eot|woff|woff2)$">
<IfModule mod_headers.c>
ส่วนหัวตั้งค่าการควบคุมการเข้าถึงอนุญาตแหล่งกำเนิด "*"
</หากโมดูล>
</FilesMatch>
หลังจากเปลี่ยนเป็น Nginx ฉันได้ลองแปลงกฎเหล่านี้แล้ว นี่คือผลลัพธ์:
ตำแหน่ง ~ ^(.*)$ { }
ที่ตั้ง / {
เขียนใหม่ ^(.*)$ https://website.uri/$1 redirect;
ถ้า (-e $request_filename) {
เขียนใหม่ ^/p/(.*)$ /index.php?rqt=page/index/url/$1 ตัวแบ่ง;
}
เขียนใหม่ ^(.*)$ /index.php?rqt=$1 ตัวแตก;
try_files $uri $uri/ /index.php?$query_string;
}
ตำแหน่ง ~ \.php$ {
รวมตัวอย่าง/fastcgi-php.conf;
fastcgi_pass ยูนิกซ์:/run/php/php-fpm.sock;
}
ปัญหาคือตอนนี้โค้ด PHP ของฉันไม่ทำงานอีกต่อไปและแสดงโดยตรงในรูปแบบข้อความ
ฉันจะแก้ไขปัญหานี้ได้อย่างไร