Score:1

ErrorDocument and extension less ลิงก์ไม่ทำงานร่วมกัน

ธง cn

บนเว็บไซต์ของฉัน ฉันมีโค้ดต่อไปนี้เพื่อละเว้นส่วนขยายของหน้า php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]

ฉันยังเพิ่มรหัสนี้เพื่อแสดงหน้า 404 ที่กำหนดเอง

เอกสารข้อผิดพลาด 404 /404

ทั้งสองอย่างนี้ทำงานแยกกันแต่ไม่ใช่เมื่อใช้ร่วมกันเมื่อฉันไปที่ลิงก์จำลองเช่น www.mydomain.com/pagethatdontexistฉันต้องการดูหน้า 404 ของฉัน แต่ฉันเห็นข้อผิดพลาด File not found ซึ่งฉันเดาว่ามาจากเซิร์ฟเวอร์ ดังนั้นฉันจึงได้รับ 404 บน 404

ฉันได้ลองเคลื่อนไหวแล้ว เอกสารข้อผิดพลาด ลองรหัสตัวลบส่วนขยายด้านบนและด้านล่างแล้ว /404.php เช่นกัน. ฉันยังพยายามสร้างข้อยกเว้นสำหรับ 404 like

RewriteCond %{REQUEST_URI} !^/404.php$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]

ไม่มีอะไรทำงาน

แก้ไข: เมื่อรหัสส่วนขยายถูกลบออก และฉันไปที่ www.mydomain.com/pagethatdontexist ฉันเห็นหน้า 404 ของฉัน แต่ถ้าได้ไปเที่ยว www.mydomain.com/pagethatdontexist.php ฉันเห็นข้อผิดพลาด bland File not Found จากเซิร์ฟเวอร์ บางทีมันอาจจะให้เงื่อนงำว่าเกิดอะไรขึ้น

Score:0
ธง cn

ฉันคิดว่า regex ของคุณไม่ตรงกับที่คุณต้องการ ด้วยสิ่งต่อไปนี้ ฉันสามารถจัดการ url เช่น:

  • /หน้าของฉัน
  • /mypage/มายิด

regex:

    RewriteEngine บน # Activer ของโมดูล Rewrite
    RewriteRule ^/(\w+)\/?$ /$1.php [NC,L]
    RewriteRule ^/(\w+)\/(\d+)$ /$1.php?id=$2
Score:0
ธง kz

ฉันเดาว่าคุณใช้เซิร์ฟเวอร์ LiteSpeed ​​ไม่ใช่ Apache? สิ่งนี้ควร "ทำงาน" บน Apache แต่ไม่ใช่ LiteSpeed ​​เนื่องจากตัวแปรเซิร์ฟเวอร์เป็นอย่างไร ไม่ อัปเดตระหว่างคำขอภายใน

อย่างไรก็ตาม ไม่จำเป็น (และคุณไม่ควร) ละเว้นนามสกุลไฟล์ใน เอกสารข้อผิดพลาด คำสั่งนั้นเอง URL ที่ไม่มีส่วนขยายคือ "ความสวยงาม" สำหรับผู้ใช้ ErrorDocument ถูกซ่อนจากผู้ใช้โดยสิ้นเชิง แต่ถ้าคุณละเว้นนามสกุลไฟล์ใน เอกสารข้อผิดพลาด คำสั่งนั้นจะทำให้เกิดการเขียนใหม่ภายในเพิ่มเติมหลังจากคำขอย่อยภายในสำหรับเอกสารข้อผิดพลาด - ซึ่งควรหลีกเลี่ยง

ดังนั้นคุณควรรวมนามสกุลไฟล์ไว้ใน เอกสารข้อผิดพลาด คำสั่ง:

เอกสารข้อผิดพลาด 404 /404.php
Whip avatar
cn flag
ฉันใช้อาปาเช่ มันควรจะใช้งานได้บน xampp แต่ไม่ใช่บนเซิร์ฟเวอร์ของฉัน ดูเหมือนว่า 'ErrorDocument' จะถูกละเว้นเมื่อมีรหัสตัวลบส่วนขยาย คำสั่งทั้งสองนี้แยกจากกันโดยสิ้นเชิงไม่ใช่หรือ มีอะไรมารบกวนที่นี่?

โพสต์คำตอบ

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