Tập tin htaccess trong php

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…

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 htaccess

1. Khai báo trang mặc định trong htaccess

Lệ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 tin

Sử 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

Tập tin htaccess trong php
Options -Indexes

4. Turn off address address mode

Dù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
     [NC] (no case)  Không phân biệt chữ hoa thường
+ url  là quy tắc thay thế cho địa chỉ gốc do client request. Trong url  có thể dùng các server variables hoặc “tham khảo ngược %N”  tới pattern của rewrite rule

VÍ DỤ

  • Move address 1 type tin
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>/"  />
  • phản hồi
________số 8
  • Đổi tên mở rộng php
RewriteRule ^(.*)\.tto$  $1.php
  • Chuyển hướng tới địa chỉ khác
AddDefaultCharset UTF-8
0
  • Cấm xem 1 địa chỉ
AddDefaultCharset UTF-8
1

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 RewriteCond

AddDefaultCharset UTF-8
3

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-8
4HTTP_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

  • Căn cứ theo giờ máy chủ
AddDefaultCharset UTF-8
5

7. Lệnh AuthName, AuthType, AuthUSerFile

This 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-8
6

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-8
7

VÍ DỤ

  • Create file quantri/. htaccess
AddDefaultCharset UTF-8
8
  • Create file quantri/. htpasswd
AddDefaultCharset UTF-8
9

8. Chỉ thị ErrorDocument

Options -Indexes
0

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 -Indexes
1

VD. after command in. htaccess

Options -Indexes
2

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 -Indexes
3

9. Chỉ thị từ chối, cho phép

Sử 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ụ

  • Cấm IP, dùng lệnh
Options -Indexes
4
  • Cho phép IP, sử dụng lệnh
Options -Indexes
5
  • Cấm tất cả IP, sử dụng lệnh
Options -Indexes
6
  • Only allow some IP access
Options -Indexes
7
  • Cấm một số ip truy cập
Options -Indexes
8

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êm

http. //www. htaccesstools. com/


Lab sử dụng htaccess

1. 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 -Indexes
9

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

Tập tin htaccess trong 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

Tập tin htaccess trong php

3. Viết lệnh để chỉ định trang mặc định trong thư mục là trangchu. php

Tập tin htaccess trong 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ập tin htaccess trong php

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

Tập tin htaccess trong 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)