คว้าปลายด้านเซิร์ฟเวอร์ url [ปิด]


0

หากฉันมีผู้ใช้ที่เข้าถึงเว็บไซต์ของฉันเช่น: www.example.com/testpage.html มีวิธีใดที่จะคว้า "testpage.html" เป็นสตริงหรือไม่หาก testpage.html ไม่มีอยู่จริง (ฉันต้องการสร้างข้อความแสดงข้อผิดพลาด 404 แบบกำหนดเอง .. โดยปกติฉันต้องการเมื่อผู้ใช้ไปยังหน้าที่ไม่มีอยู่ให้พูดว่า "หน้านี้ [pagename] ไม่มีอยู่" และแสดงผลการค้นหาด้วยชื่อหน้าเป็นแบบสอบถาม)

คำตอบ:


2

โดยทั่วไปหากคุณต้องการทำสิ่งที่มีประโยชน์กับเนื้อหาแบบไดนามิกคุณจะต้องมีภาษาที่แปลความหมายบางอย่างเพื่อให้ตรรกะ ตามที่คุณไม่ได้ระบุฉันถือว่าคุณใช้ PHP

ในกรณีของ PHP คุณสามารถเข้าถึง$ _SERVER superglobalซึ่งจะแสดงREQUEST_URI (เช่น $ _SERVER ['REQUEST_URI']) ซึ่งเป็นสิ่งที่คุณกำลังมองหา จากนั้นคุณสามารถสร้างตรรกะบางอย่างในสคริปต์ PHP ของคุณรอบ ๆ ตัวแปรนี้เพื่อดำเนินการตาม URI ที่ตรงกันโดยเฉพาะ

ตัวอย่าง:

if ($_SERVER['REQUEST_URI'] == "/testpage.html") {
  // Do something here
}

แน่นอนว่าคุณจะได้รับความแปลกใหม่ด้วยการแสดงออกปกติงบกรณี ฯลฯ


จะเก็บสคริปต์ PHP นี้ไว้ที่ไหน
agz

1
us.php.net/manual/en/install.phpน่าจะเป็นการเริ่มต้นที่ดี :)
Garrett

0

ดูเหมือนคำถามจริงของคุณคือ "ฉันจะสร้างหน้าเว็บ 404 ที่กำหนดเอง" ได้อย่างไร นั่นจะขึ้นอยู่กับเว็บเซิร์ฟเวอร์

ในการแยกส่วนของ URL ถ้าคุณใช้ PHP คุณก็ต้องการparse_url()ฟังก์ชั่น ใน Perl คุณต้องใช้URIโมดูล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.