Sử dụng htaccess giúp tạo nhiều chức năng hữu ích cho website như cấu hình Apache, bảo mật, giả địa chỉ. bị cấm theo ip/giờ, báo lỗi thân thiện… Show
Bạn có thể tạo nhiều tệp htaccess trong một trang web, mỗi lệnh trong tệp này là một thị trường duy nhất để yêu cầu máy chủ web Apache thực hiện một việc gì đó. Các lệnh trong tệp htaccess sẽ ảnh hưởng đến thư mục chứa tệp htaccess và các thư mục con, (không ảnh hưởng đến thư mục cha) Các lệnh thường được sử dụng trong tệp htaccess1. Khai báo trang mặc định trong htaccessLệnh DirectoryIndex is command used to khai báo trang web mặc định cho Apache DirectoryIndex tc.php If user when request that not known file name (chỉ có tên thư mục) thì file default sẽ chạy. Ví dụ người dùng yêu cầu địa chỉ như sau là không có tên tệp. https. //longnv. Tên. vn/lap-trinh-php/ , khi đó file tc. php trong thư mục lap-trinh-php sẽ thực thi 2. Khai báo bảng mãCommand AddDefaultCharset used to message for the browser to translate on the table code to be used to show text in the browser. Lệnh này rất hữu ích, vì bạn không cần khai báo bảng mã bằng thẻ meta trong từng trang nữa AddDefaultCharset UTF-8 3. Cấm hiện danh sách tập tinSử dụng htaccess cấm apache hiện danh sách tệp để tăng tính bảo mật cho trang web. Là bởi vì khi người dùng yêu cầu một thư mục mà thư mục đó không có trang mặc định, apache sẽ liệt kê các tệp ra. Hoạt động này rất không tốt (không bảo mật). Bạn nên cấm bằng lệnh Options –Indexes Options -Indexes 4. Turn off address address modeDùng lệnh để tắt chế độ chuyển địa chỉ của apache là rewriteengine RewriteEngine on | off 5. Ra lệnh chuyển địa chỉSử dụng htaccess để chuyển địa chỉ giả thành địa chỉ thật là hoạt động phổ biến nhất trong htaccess. Bạn sẽ sử dụng lệnh viết lại để chuyển địa chỉ, nó giúp điều chỉnh địa chỉ giả của một url thành địa chỉ thật, giúp địa chỉ đẹp hơn, có nhiều giá trị cho SEO RewriteRule pattern url [flag] Trong đó mẫu là mẫu theo cú pháp regex diễn giải địa chỉ giả , url là địa chỉ thật, cờ là cờ xử lý + pattern: là một regular expression để so khớp với URL hiện hành
. Diễn tả 1 ký tự bất kỳ
[chars] lớp ký tự (một trở đi)
text1|text2 text1 hoặc text2
? 0 hoặc 1 của text phía trước
* 0 hoặc nhiều lần text phía trước
+ 1 hoặc nhiều lần text phía trước
(text) Nhóm ký tự
^ Diễn tả sự bắt đầu
$ Diễn tả vị trí cuối
\char escape từng ký tự đặc biệt: ".[]()"
Ký tự ! có thể được dùng trước parttern đễ diễn tả ý nghĩa phủ định
+ flags là cờ chỉ định cách hoạt động của chỉ thị này:
[R] (force Redirect) Yêu cầu trình duyệt tạm chuyển hướng tới 1 địa chỉ khác.
[F] (force URL to be Forbidden) Điều khiển URL hiện tại thành forbidden. Nó gởi HTTP response, 403 (FORBIDDEN).
[L] (last rule) Điều khiển quá trình rewrite dừng lại ở rule này
[ VÍ DỤ
RewriteRule ^songdep/$ home.php?view=cat&idloai=12 [L] RewriteRule ^thohay/$ home.php?view=cat&idloai=28 [L] Chú thích. url không bị trùng với tên tệp có thật trong trang web và trong trang chủ phải thêm thẻ <base href="http://<?=$_SERVER['SERVER_NAME'];?>/<folder>/" />
RewriteRule ^(.*)\.tto$ $1.php
AddDefaultCharset UTF-80
AddDefaultCharset UTF-81 Chú thích. Khi sử dụng viết lại thì địa chỉ diễn giả mô tả trong mẫu không bị trùng với tên tệp có thật trong trang web và trong trang chủ cần thêm cơ sở thẻ như sau <base href="http://<?=$_SERVER['SERVER_NAME'];?>/<folder>/" /> 6. Lệnh RewriteCondAddDefaultCharset UTF-83 Là lệnh để định nghĩa một điều kiện, lệnh này được đặt trước RewriteRule để tạo điều kiện cho RewriteRule AddDefaultCharset UTF-84HTTP_USER_AGENT HTTP_REFERER HTTP_HOST REQUEST_URI REQUEST_FILENAMEREMOTE_ADDR REMOTE_HOST REQUEST_METHOD SCRIPT_FILENAME QUERY_STRINGDOCUMENT_ROOT SERVER_NAME SERVER_ADDR SERVER_SOFTWARETIME_YEAR TIME_MON TIME_DAYTIME_HOUR TIME_MIN TIME_SEC Ví dụ RewriteCond
AddDefaultCharset UTF-85 7. Lệnh AuthName, AuthType, AuthUSerFileThis command used to protected folder by password. Để thực hiện, bạn tạo một tập tin. htaccess đặt trong thư mục bạn muốn bảo vệ rồi thêm các lệnh sau AddDefaultCharset UTF-86 Có thể thay Phan quan tri thành văn bản bất kỳ, /full/path/to là đường dẫn đến tệp chứa người dùng và mật khẩu. Tập tin. htpasswd chứa nhiều dòng, mỗi dòng chứa người dùng và mật khẩu của người dùng AddDefaultCharset UTF-87 VÍ DỤ
AddDefaultCharset UTF-88
AddDefaultCharset UTF-89 8. Chỉ thị ErrorDocumentOptions -Indexes0 Bạn có thể sử dụng htaccess để có các thông báo lỗi thân thiện với người dùng. Lệnh ErrorDocument giúp thực hiện công việc này, trong đó có FileThongBao. html là trang web mà bạn muốn hiển thị khi phát sinh lỗi, MãLỗi là một số nguyên. The error code of http normal is Options -Indexes1 VD. after command in. htaccess Options -Indexes2 Khi gặp lỗi không tìm thấy tệp, trình duyệt sẽ tự động chuyển đến trang lỗi. 404. html Có cách viết thông báo lỗi bằng cách nhập trực tiếp thông báo như sau Options -Indexes3 9. Chỉ thị từ chối, cho phépSử dụng htaccess còn giúp bạn cấm/cho phép các ip truy cập trang web, hay bị cấm/cho phép sử dụng theo giờ trong ngày. Bằng cách sử dụng các lệnh cho phép và từ chối, bạn có thể thực hiện được. Sau đây là một số ví dụ
Options -Indexes4
Options -Indexes5
Options -Indexes6
Options -Indexes7
Options -Indexes8 Hai đoạn mã trên rất hữu ích với các WebMaster trong việc bảo mật. Nó sẽ ngăn không cho các IP không hợp lệ vô trang Admin 10. Tham khảo thêmhttp. //www. htaccesstools. com/ Lab sử dụng htaccess1. Chuẩn bịTạo thư mục. Trong htdocts, tạo thư mục PHP2_htaccess, các thư mục con và các tệp như sau. (configuration results on network + files. php thì nhập nội dung giống như tên tệp nhưng có dấu) Options -Indexes9 1. Trong tệp. htaccess, write command for when user request file. abc thì đổi thành file tương ứng với đuôi. php 2. Viết lệnh cấm liệt kê các tệp trong thư mục khi không có tệp mặc định 3. Viết lệnh để chỉ định trang mặc định trong thư mục là trangchu. php Tự kiểm tra nhé 4. Viết lệnh yêu cầu duyệt trình sử dụng bảng mã utf-8 khi hiển thị văn bản Tự kiểm tra nhé 5. Viết lệnh để tạo địa chỉ đẹp (tùy ý) cho 2 tệp tinxemnhieu. php và tinnoibat. php (sử dụng lệnh RewriteRule) 6. Viết lệnh để ngăn chặn hành động yêu cầu tệp. php 7. Trong khoảng thời gian từ 21 giờ đến 6 giờ sáng, nếu người dùng yêu cầu bất kỳ tệp nào trong thư mục riêng tư thì chuyển đến trang inx_dem. php ( trang index_dem. php has content. Ban đêm không làm việc nhé) 8. Tạo trang loi404. html và nhập nội dung thông báo + định dạng cho đẹp. Và viết mã để khi người dùng yêu cầu 1 tệp không tồn tại sẽ chuyển đến trang loi404. html 9. Trong thư mục Libs, tạo mới 1 tệp htaccess và viết lệnh cấm yêu cầu người dùng vào các tệp trong thư mục này (lệnh từ chối) 10. Tạo 1 route http. //localhost/PHP2 htaccess/thong-tin-sinh-vien/ , dẫn người xem vào trang sinhvien. php. Nhập thông tin sinh viên vào trang bao gồm tên họ, email , điện thoại, cấu hình (tệp cấu hình trong thư mục hình ảnh) |