ครั้งล่าสุดที่ฉันเขียนเกี่ยวกับการออกแบบ URL ของ Search Engine Friendly - ฉันกำลังดิ้นรนกับเรื่องนี้และต้องการบรรลุ http://www.myhost.com/foo.php?a=A&b=B&c=C -> http:/ /www. จริงๆ แล้วมีหลายวิธีในการแปลง URL ของ myhost.com/foo.php/a/A/b/B/c/C
ตัวอย่างเช่น ฉันใช้โฮสต์เสมือนและต้องการปรับ URL ให้เหมาะสม แต่ฉัน ไม่มีเซิร์ฟเวอร์ การอนุญาต คุณสามารถเริ่มจาก PATH_INFO ได้ในขณะนี้
เมื่อเข้าถึง URL http://www.myhost.com/foo.php/a/A/b/B/c/C หากเป็นของ Apache AllowPathinfo ถูกเปิดใช้งานแล้ว ให้ใช้ php Access $_SERVER['PATH_INFO'] เพื่อรับสตริงอักขระ a/A/b/B/c/C จากนั้นใช้ php เพื่อแยกวิเคราะห์:
PLAIN TEXTPHP:
if(!empty($ _SERVER['PATH_INFO'])) {
$paths = explode('/', substr($_SERVER['PATH_INFO'], 1));
สำหรับ($i = 0, $cnt = นับ($paths); $i <$cnt; $i++)
$_GET[$paths[$i]] = @(สตริง)$paths[++$i];
}
ด้วยวิธีนี้ คุณสามารถแปลง PATH_INFO ให้เป็นอาร์เรย์ $_GET ส่วนกลางได้ ซึ่งมีข้อดีของ
http://www.myhost.com/foo.php?a=A&b=B&c=C
http://www.myhost.com/foo.php/a/A/b/B/c/C
สามารถเข้าถึง URL ข้างต้นได้พร้อมๆ กัน จึงมั่นใจได้ถึงความหลากหลาย