Nó không hoàn toàn rõ ràng những gì bạn yêu cầu. Nếu bạn muốn tạo một trang liệt kê các url của sách, thì bạn không cần thực hiện quá xa với câu lệnh echo của mình. Bạn chỉ cần điền $ bookid và $ booktitle từ cơ sở dữ liệu. .htaccess không liên quan.
echo "<a href='http://sitename.com/".$bookid."-".seo($booktitle)."'>".$booktitle."</a>";
Nhưng nếu bạn muốn giải nén URL của liên kết mà người dùng đã nhấp vào, thì bạn cần phải xem chuỗi truy vấn được chuyển đến trang. .htaccess chia nhỏ URL cho bạn và chuyển tham số $ 1 vào tập lệnh của bạn. Để đọc url trong PHP, hãy thử cách sau
parse_str($_SERVER['QUERY_STRING'],$query);
if (array_key_exists('id',$query)) {
$books = explode("-",$query['id']);
}
Thao tác này sẽ tạo một mảng với id sách trong phần tử đầu tiên ($ books [0]) và từ đầu tiên của tiêu đề trong phần thứ hai, v.v. (Nếu bạn muốn sử dụng cách tiếp cận này và có toàn bộ tên sách trong phần thứ hai, bạn có thể muốn sử dụng một ký tự khác để phân tách id từ tiêu đề với ký tự bạn sử dụng để thay thế dấu cách.