Score:0

เว็บไซต์ PHP ไม่ทำงานตามที่คาดไว้ใน NGINX แต่ทำงานใน Apache

ธง cn

สวัสดี ฉันเพิ่งสร้างแอปย่อลิงก์ แต่เมื่อฉันพยายามเปลี่ยนเส้นทางลิงก์ที่สั้นลงไปยัง URL แบบเต็มซึ่งแชร์บน Facebook มันไม่ทำงานตามที่คาดไว้ ตัวอย่างเช่น : https://bowa.me/c8443 ลิงค์นี้ใช้งานได้ดี แต่ถ้าผมแชร์ลิงค์ในเฟสบุ๊คและและลิงค์จะเป็นแบบนี้ครับ https://bowa.me/c8443?fbclid=IwAR0Zm8bGRgrbpQTUX_aVXxTMNFq6-MlRFe0j8e_7wm4anbWmvArPlyDaAHI ลิงก์นี้ไม่ได้เปลี่ยนเส้นทาง

การกำหนดค่า nginx

ที่ตั้ง / {
            try_files $uri $uri/ /index.html /index.php;

    }

    ตำแหน่ง ~ \.php$ {
    รวมตัวอย่าง/fastcgi-php.conf;
    fastcgi_pass ยูนิกซ์:/var/run/php/php7.4-fpm.sock;
         }

        ตำแหน่ง ~ /\.ht {
            ปฏิเสธทั้งหมด
      }

    ถ้า (!-e $request_filename) {
            เขียนใหม่ ^/admin/(.*)?$ /admin/index.php?a=$1 ตัวแบ่ง;
            เขียนใหม่ ^/(.*)$ /index.php?a=$1 สุดท้าย;
            หยุดพัก;
    }
Michael Hampton avatar
cz flag
คุณควรใช้ `try_files` ไม่ใช่ `if (!-e $request_filename) ...`
cn flag
ฉันใช้ 'if (!-e $request_filename) ..' เพราะก่อนหน้านี้เป็นการดาวน์โหลดหน้าเว็บแทนที่จะเปลี่ยนเส้นทาง ฉันพบวิธีแก้ปัญหานี้ในฟอรัม ลิงค์แรกที่ฉันได้แบ่งปันทำงานได้อย่างสมบูรณ์ แต่อันที่สองไม่ใช่ และทั้งคู่ทำงานใน apache (xampp)
Score:1
ธง us

ใน nginx ควรทำสิ่งต่าง ๆ โดยปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดของ nginx ไม่ใช่พยายามแปลงแนวทางปฏิบัติของ Apache2 เป็น nginx นั่นคือสูตรสำหรับปัญหาทุกประเภท

คุณควรลองใช้วิธีต่อไปนี้:

# บล็อกสำหรับการประมวลผลไฟล์ PHP
ตำแหน่ง ~ \.php$ {
    รวมตัวอย่าง/fastcgi-php.conf;
    fastcgi_pass ยูนิกซ์:/var/run/php/php7.4-fpm.sock;
}

ตำแหน่ง ~ /\.ht {
    ปฏิเสธทั้งหมด
}

# จับส่วนหนึ่งหลังจากผู้ดูแลระบบไปยังตัวแปรและใช้ใน try_files
ตำแหน่ง ~ ^/admin/(.*)$ {
    try_files $uri $uri/ /admin/index.php?a=$1;
}

# ตำแหน่งเริ่มต้น จับส่วน URI และใช้เป็นอาร์กิวเมนต์
ตำแหน่ง ~ ^/(.*)$ {
    try_files $uri $uri/ /index.php?a=$1;
}

คำสั่งมีความสำคัญ nginx ใช้การจับคู่นิพจน์ทั่วไปครั้งแรกจาก ที่ตั้ง บล็อกที่พบ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา