Các mod_rewrite thường là avaiable trên hầu hết Apache tổ chức những ngày này. Tuy nhiên, nó không phải là khó để làm việc xung quanh sự vắng mặt của nó, và bằng cách làm như vậy bạn đảm bảo rằng mọi người bị mắc kẹt trên một/với một máy chủ/IT nhân viên đã tắt nó đi, hoặc một máy chủ/nhân viên IT chạy IIS, vv
Hầu hết các khung công tác hoặc ứng dụng mới được xây dựng ngày nay đều sử dụng mod_rewrite để chặn tất cả các yêu cầu URL thông qua một tệp PHP tải trước (được gọi là Bootstrapping, mẫu Frontloading, v.v.). Phần URL không phải là tên miền được phân tích cú pháp thành một số đối tượng và đối tượng đó được sử dụng bất cứ khi nào bạn cần truy cập vào URL.
Khi mod_rewrite là không có sẵn, các URL theo hình thức
http://example.com/index.php/foo/baz/bar
được sử dụng để thay thế. Yêu cầu cho URL trên được xử lý bởi tệp index.php. Sau đó, bạn có thể phân tích một trong những biến máy chủ như
$_SERVER['REQUEST_URI'], $REQUEST['PATH_INFO'], etc.
vào một số đối tượng (đối tượng mà bạn muốn sử dụng nếu bạn có mod_rewrite) và sử dụng đối tượng mà bất cứ khi nào bạn cần truy cập vào các thông tin URL.
Dù bằng cách nào, phần còn lại của khung/ứng dụng của bạn chỉ truy cập vào đối tượng và không phải lo lắng về cách thông tin có trong đó.
Additional Reading
Nguồn
2010-03-04 16:35:07
Tôi đang nói về máy chủ của khách hàng của mình. – someone
Làm cách nào để thay đổi câu trả lời? Nó vẫn thường có sẵn, và bạn nên chuyển khách hàng của bạn vào một máy chủ khác nếu không. – ceejayoz
Nếu bạn nghi ngờ rằng một khách hàng có thể không có quyền truy cập vào mod_rewrite thì bạn nên xây dựng khung công tác dựa trên giả định đó. – thetaiko