Tôi đang gặp sự cố khi nắm bắt cách thức thích hợp nhất để xử lý url RESTful.Xử lý URL của RESTful url
Tôi đang gặp url như thế này:
http://localhost/products
http://localhost/products/123
http://localhost/products/123/color
Nguyên:
http://localhost/index.php?handler=products&productID=123&additional=color
Như bây giờ tôi đang sử dụng mod_rewrite:
RewriteRule ^([^/]*)([/])?([^/]*)?([/])?(.*)$ /index.php?handler=$1&productID=$3&additional=$5 [L,QSA]
Và sau đó tôi đang đánh đố cùng các yêu cầu trong index.php, như sau:
if ($_GET['handler'] == 'products' && isset($_GET['productID'])) {
// get product by its id.
}
Tôi đã nhìn thấy một số tạo ra một GET truy vấn là một chuỗi như:
if ($_GET['handler'] == 'products/123/color')
Sau đó, bạn có ví dụ sử dụng biểu thức thông thường để có được các giá trị ra khỏi các truy vấn-string?
Đây có phải là cách tiếp cận tốt hơn để xử lý các url này không? Ưu và nhược điểm của các phương pháp khác nhau này là gì? Có cách nào tốt hơn không?
'' Đây là lý do tại sao tôi không thích các loại url này.Các parms vị trí như thế này không dễ làm việc như parms tên/giá trị. ' '. –