Viết lại đường dẫn URL
Số trang: 5
Loại file: pdf
Dung lượng: 133.87 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Kiểm tra cấu hình Apache Trước khi bắt đầu tìm hiểu về việc tạo và sử dụng đường dẫn ảo, bạn phải chắc chắn rằng server Apache của bạn (trên máy bạn chạy localhost hoặc trên server của nơi cung cấp host) phải có module mod_rewrite và module này đã được cài cho Apache. Trên localhost, bạn có thể cài cho Apache bằng cách sửa file Conf/httpd.conf: tìm đến những dòng có rewrite_module và bỏ dấu # ở đầu đi.Nếu đã giải quyết được vấn đề trên, chúng ta cùng bắt đầu nhé. Viết lại đường dẫn URL (mod_rewrite, .htaccess,...
Nội dung trích xuất từ tài liệu:
Viết lại đường dẫn URL Viết lại đường dẫn URL (mod_rewrite, .htaccess, Apache)Kiểm tra cấu hình ApacheTrước khi bắt đầu tìm hiểu về việc tạo và sử dụng đường dẫn ảo, bạn phải chắcchắn rằng server Apache của bạn (trên máy bạn chạy localhost hoặc tr ên servercủa nơi cung cấp host) phải có module mod_rewrite và module này đã được càicho Apache. Trên localhost, b ạn có thể c ài cho Apache bằng cách sửa fileConf/httpd.conf: tìm đến những dòng có rewrite_module và bỏ dấu # ở đầuđi.Nếu đã giải quyết được vấn đề trên, chúng ta cùng bắt đầu nhé.Viết lại đường dẫn URL (mod_rewrite, .htaccess, Apache)Đầu tiên, bạn tạo 1 file t ên .htaccess với nội dung như code bên dưới nhé :Ghi chú :Trong Windows, bạn không thể tạo được file chỉ với phần đuôi mở rộng, vậynên đặt tên là htaccess.txt rồi upload FTP lên server và đổi tên lại thành.htaccess.RewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} ! -fRewriteCond %{REQUEST_FILENAME} ! -dRewriteRule . /index.php [L]Tôi sẽ giải thích những dòng code trên ở các bước tiếp theo. Dòng đầu tiên sử dụng để bật RewriteEngine. Hai dòng tiếp theo là điều kiện để sử dụng Rewrite. Chúng ta có thể chỉ dùng dòng đầu tiên và dòng cuối cùng trong 5 dòng mã trên. Tuy nhiên nếu chỉ có 2 dòng này, những đường dẫn tới thư mục và files thực sẽ ko sử dụng được. Đó là lý do chúng ta thêm vào 2 dòng số 2 và 3. Hai dòng này sẽ đặt điều kiện để server kiểm tra xem đ ường dẫn mà user sử dụng là có thật hay ko, trước khi xử lý nó như 1 đường dẫn ảo. -d và -s là 2 giá trị mẫu dành cho việc kiểm tra THƯ MỤC và FILE thực. Ta sử dụng thêm [OR] để kết hợp 2 điều kiện này lại. Dòng cuối cùng phụ thuộc vào quyết định của bạn, đường dẫn ảo sẽ được đặt ra sao.Cú pháp sử dụng RewriteRule như sau:RewriteRule Pattern SubstitutionVới Pattern là định dạng của đường dẫn ảo sẽ được áp dụng cho đường dẫnthực tương ứng (Substitution).Bạn có thể sử dụng nhiều định dạng cho những đ ường dẫn thực khác nhau.Ví dụ:RewriteRule ^tutorials/(.*)/(.*)$ /tutorials.php?id=$1&page=$2 [L]sẽ chuyển /tutorial/X/Y (đ ường dẫn ảo) thành/tutorial.php?id=X&page=Y (đường dẫn thực)cònRewriteRule ^download/(.*)$ /download.php?id=$1 [L]#sẽ chuyển /download/X thành /download.php?id=X.Viết lại đường dẫn URL nâng caoTrong hướng dẫn này, tôi giới thiệu với bạn 1 cách theo tôi là khả thi nhất đểgiảm số lần sửa đổi đối với file .htaccess: sử dụng duy nhất 1 file PHP để xử lýmọi trường hợp của đường dẫn ảo. Đây chính là cách mà tôi sử dụng cho sitemà bạn có thể nhìn thấy tại dòng thứ 5 của đoạn m ã trên. Tất cả các đường dẫnsẽ được chuyển tới file index.php và được xử lý tại đây.Để xem chúng ta cần những gì trong file index.php nhé.Trước hết bạn phải thiết kế 1 chuỗi truy vấn có thứ tự cố định.Một ví dụ minh hoa: ko có sự khác biệt giữa 2 đ ường dẫnindex.php?view=tutorials&id=1&page=2vàindex.php?view=tutorials&page=2&id=1nhưng khi user truy cập qua đường dẫn ảo, sẽ có khác biệt giữa/tutorials/1/2 và /tutorials/2/1.Đó là lý do tôi dùng c ụm từ “chuỗi truy vấn có thứ tự cố định”.Tiếp theo, giả sử bạn đã quyết định được 1 chuỗi truy vấn cho mình có thứ tựnhư sau: vị trí đầu tiên dành cho PHÂN MỤC, vị trí thứ hai cho ID, vị trí thứ 3cho SỐ TRANG, …. Chúng ta sẽ xử lý đ ường dẫn ảo qua index.php như sau:if(!$QUERY_STRING) {// sử dụng điều kiện này để tiếp tục dùng//đường dẫn kiểu truy vấn.$url=strip_tags($REQUEST_URI);$url_array=explode(”/”,$url);// vì chúng ta sử dụng $REQUEST_URI nên $url_array luôn có giá trị đầurỗng// sử dụng array_shift() để cắt giá trị đầu tiênarray_shift($url_array);// gán các giá trị tương ứng lấy từ đường dẫn ảo$_REQUEST[´view´] = $url_array[0];}
Nội dung trích xuất từ tài liệu:
Viết lại đường dẫn URL Viết lại đường dẫn URL (mod_rewrite, .htaccess, Apache)Kiểm tra cấu hình ApacheTrước khi bắt đầu tìm hiểu về việc tạo và sử dụng đường dẫn ảo, bạn phải chắcchắn rằng server Apache của bạn (trên máy bạn chạy localhost hoặc tr ên servercủa nơi cung cấp host) phải có module mod_rewrite và module này đã được càicho Apache. Trên localhost, b ạn có thể c ài cho Apache bằng cách sửa fileConf/httpd.conf: tìm đến những dòng có rewrite_module và bỏ dấu # ở đầuđi.Nếu đã giải quyết được vấn đề trên, chúng ta cùng bắt đầu nhé.Viết lại đường dẫn URL (mod_rewrite, .htaccess, Apache)Đầu tiên, bạn tạo 1 file t ên .htaccess với nội dung như code bên dưới nhé :Ghi chú :Trong Windows, bạn không thể tạo được file chỉ với phần đuôi mở rộng, vậynên đặt tên là htaccess.txt rồi upload FTP lên server và đổi tên lại thành.htaccess.RewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} ! -fRewriteCond %{REQUEST_FILENAME} ! -dRewriteRule . /index.php [L]Tôi sẽ giải thích những dòng code trên ở các bước tiếp theo. Dòng đầu tiên sử dụng để bật RewriteEngine. Hai dòng tiếp theo là điều kiện để sử dụng Rewrite. Chúng ta có thể chỉ dùng dòng đầu tiên và dòng cuối cùng trong 5 dòng mã trên. Tuy nhiên nếu chỉ có 2 dòng này, những đường dẫn tới thư mục và files thực sẽ ko sử dụng được. Đó là lý do chúng ta thêm vào 2 dòng số 2 và 3. Hai dòng này sẽ đặt điều kiện để server kiểm tra xem đ ường dẫn mà user sử dụng là có thật hay ko, trước khi xử lý nó như 1 đường dẫn ảo. -d và -s là 2 giá trị mẫu dành cho việc kiểm tra THƯ MỤC và FILE thực. Ta sử dụng thêm [OR] để kết hợp 2 điều kiện này lại. Dòng cuối cùng phụ thuộc vào quyết định của bạn, đường dẫn ảo sẽ được đặt ra sao.Cú pháp sử dụng RewriteRule như sau:RewriteRule Pattern SubstitutionVới Pattern là định dạng của đường dẫn ảo sẽ được áp dụng cho đường dẫnthực tương ứng (Substitution).Bạn có thể sử dụng nhiều định dạng cho những đ ường dẫn thực khác nhau.Ví dụ:RewriteRule ^tutorials/(.*)/(.*)$ /tutorials.php?id=$1&page=$2 [L]sẽ chuyển /tutorial/X/Y (đ ường dẫn ảo) thành/tutorial.php?id=X&page=Y (đường dẫn thực)cònRewriteRule ^download/(.*)$ /download.php?id=$1 [L]#sẽ chuyển /download/X thành /download.php?id=X.Viết lại đường dẫn URL nâng caoTrong hướng dẫn này, tôi giới thiệu với bạn 1 cách theo tôi là khả thi nhất đểgiảm số lần sửa đổi đối với file .htaccess: sử dụng duy nhất 1 file PHP để xử lýmọi trường hợp của đường dẫn ảo. Đây chính là cách mà tôi sử dụng cho sitemà bạn có thể nhìn thấy tại dòng thứ 5 của đoạn m ã trên. Tất cả các đường dẫnsẽ được chuyển tới file index.php và được xử lý tại đây.Để xem chúng ta cần những gì trong file index.php nhé.Trước hết bạn phải thiết kế 1 chuỗi truy vấn có thứ tự cố định.Một ví dụ minh hoa: ko có sự khác biệt giữa 2 đ ường dẫnindex.php?view=tutorials&id=1&page=2vàindex.php?view=tutorials&page=2&id=1nhưng khi user truy cập qua đường dẫn ảo, sẽ có khác biệt giữa/tutorials/1/2 và /tutorials/2/1.Đó là lý do tôi dùng c ụm từ “chuỗi truy vấn có thứ tự cố định”.Tiếp theo, giả sử bạn đã quyết định được 1 chuỗi truy vấn cho mình có thứ tựnhư sau: vị trí đầu tiên dành cho PHÂN MỤC, vị trí thứ hai cho ID, vị trí thứ 3cho SỐ TRANG, …. Chúng ta sẽ xử lý đ ường dẫn ảo qua index.php như sau:if(!$QUERY_STRING) {// sử dụng điều kiện này để tiếp tục dùng//đường dẫn kiểu truy vấn.$url=strip_tags($REQUEST_URI);$url_array=explode(”/”,$url);// vì chúng ta sử dụng $REQUEST_URI nên $url_array luôn có giá trị đầurỗng// sử dụng array_shift() để cắt giá trị đầu tiênarray_shift($url_array);// gán các giá trị tương ứng lấy từ đường dẫn ảo$_REQUEST[´view´] = $url_array[0];}
Tìm kiếm theo từ khóa liên quan:
Javascript ASP.NET Tin học đại cương giáo trình Tin học đại cương bài giảng Tin học đại cương tài liệu Tin học đại cương lý thuyết Tin học đại cươngGợi ý tài liệu liên quan:
-
Ứng dụng công cụ Quizizz thiết kế trò chơi học tập trong giảng dạy học phần tin học đại cương
12 trang 301 0 0 -
Tài liệu hướng dẫn thực hành Tin học đại cương - ĐH Bách Khoa Hà Nội
40 trang 257 0 0 -
Giáo trình Tin học đại cương part 7
19 trang 233 0 0 -
Giáo trình Tin học đại cương: Phần 1 - ĐH Kinh tế Quốc Dân
130 trang 156 0 0 -
Giáo trình Tin học đại cương (Tái bản năm 2020): Phần 1 - PGS.TS. Nguyễn Thị Thu Thủy (Chủ biên)
105 trang 142 0 0 -
Giáo trình Tin học đại cương: Phần 1 - Vi Hồng Thắm
90 trang 129 0 0 -
Hướng dẫn thực hành lập trình C trên Visual Studio
9 trang 127 0 0 -
Giáo trình Tin học đại cương: Phần 2 - Trần Đình Khang
118 trang 118 0 0 -
Quản trị người dùng trong Exchange 2007 bằng Powershell
9 trang 107 0 0 -
Đề cương học phần Tin học đại cương
23 trang 104 0 0