Tôi đã đi theo cả hai hướng trước và mặc dù cả hai đều có ưu và khuyết điểm tôi nghiêng về tùy chọn thứ hai của bạn, trang chính duy nhất chứa bố cục. Điều này tương tự như cách các trang chủ hoạt động trong các ứng dụng xuất bản trên máy tính để bàn và ASP.NET có một triển khai tốt đẹp về ý tưởng này - không phải là tôi đang nói bạn nên chuyển đổi công nghệ.
Tuy nhiên, nếu bạn thực hiện tuyến đường này, hãy sử dụng mod_rewrite để đưa đường dẫn của bạn vào trang cái PHP, thay vì truy vấn trong URL của bạn. tập tin .htaccess của bạn nên chứa một cái gì đó như:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [S=1]
RewriteRule ^(.*)$ /index.php?path=$1 [QSA]
này về cơ bản nói nếu các tập tin họ yêu cầu không tồn tại, thay vì đưa ra một tay lỗi 404 tắt chế biến để index.php với đường dẫn URL trong một chuỗi truy vấn biến. Vì vậy, "http://example.com/path/to/page" kết thúc bằng cách nhấn index.php với $ _GET ['path'] được đặt thành "/ path/to/page". Từ đó bạn có thể lấy nội dung từ cơ sở dữ liệu, tệp phẳng hoặc những gì có bạn. Bạn cũng có thể chọn các mẫu khác nhau dựa trên đường dẫn được yêu cầu.
Nguồn
2009-01-27 21:56:54
đồng ý với quy tắc viết lại. bạn muốn thực thi một điểm nhập cảnh duy nhất và không cho phép người dùng gọi một cái gì đó như qry_deleteUser.php mà không phải trải qua chỉ mục. –
@Nick: Quy tắc ghi đè này sẽ không ngăn chặn loại truy cập đó, vì nó cho phép yêu cầu các tệp tồn tại đi thẳng. –