Về.htaccess
.htaccess là một tệp cấu hình để sử dụng trên các máy chủ web chạy phần mềm Máy chủ Web Apache. Các tệp .htaccess này có thể được sử dụng để thay đổi cấu hình của phần mềm Máy chủ Web Apache để bật / tắt các chức năng và tính năng bổ sung mà phần mềm Máy chủ Web Apache phải cung cấp. ví dụ nếu không tìm thấy tệp 404 hoặc cho các chức năng nâng cao hơn như bảo vệ mật khẩu nội dung hoặc ngăn chặn liên kết trong trang web.
1. Error page
Nó cho phép bạn hiển thị cho khách truy cập web một thông báo lỗi thân thiện, một ví dụ sẽ là một URL nếu trang web không hoạt động hoặc nếu người dùng nhập sai url.
Để khắc phục lỗi này bạn có thể thêm 1 tệp vào .htaccess như sau:
ErrorDocument 404 /error_pages/404.html
Hoặc 1 số lỗi khác bạn có thể tham khảo
ErrorDocument 401 /error_pages/401.html
ErrorDocument 401 /error_pages/403.html
ErrorDocument 500 /error_pages/500.html
2. Redirect
Chuyển hướng cho phép điều hướng khách truy cập trang web từ tài liệu này sang tài liệu khác.
Redirect /old_dir/ http://www.yourdomain.com/new_dir/index.html
dòng trên giải thích rằng nếu khách truy cập yêu cầu một tài liệu trong ‘old_dir’, họ sẽ được chuyển hướng đến ‘new_dir’.
3. Password Protection
Chúng ta có thể mật khẩu bảo vệ một thư mục (hoặc nhiều) của một trang web yêu cầu tên người dùng và mật khẩu để truy cập.
Để bắt đầu, hãy xem xét thư mục nào bạn muốn bảo vệ bằng mật khẩu, sau đó tạo tệp .htaccess theo hướng dẫn và hướng dẫn chính bao gồm văn bản sau:
AuthName “Admin Area”
AuthUserFile /path/to/password/file/.htpasswd
AuthType Basic
require valid-user
Tệp mật khẩu sẽ ví dụ như sau:
username:encryptedpassword
daniel_mark:oCF9Pam/MXJg2
Lưu ý là Windows không cung cấp bất kỳ phương thức mã hóa nào cho nên chúng sẽ không được mã hóa khi bạn nhập.
4. Từ chối khách truy cập theo địa chỉ IP
Một trong những tính năng chặn do Apache cung cấp là từ chối quyền truy cập vào một số lượt truy cập bằng địa chỉ IP. Điều này rất hữu ích để chặn khách truy cập không mong muốn hoặc chỉ cho phép quản trị viên trang web truy cập vào một khu vực cụ thể của trang web.
Để bắt đầu, hãy xác định thư mục sẽ được bảo vệ, liệt kê các địa chỉ IP cần chặn và tạo tệp .htaccess với văn bản sau.
order allow,deny
deny from 192.168.25.10
deny from 52.31.20.75
allow from all
Để thiết cho tất cả khách truy cập ngoại trừ địa chỉ IP của bạn:
order allow,deny
allow from 192.168.25.10
deny from all
Trong đó 192.168.25.10 là địa chỉ IP của bạn.
5. Ngăn chặn liên kết
Bằng cách sử dụng .htaccess, bạn có thể ngăn các trang web khác liên kết tới nội dung của bạn. Tuy nhiên, chức năng này yêu cầu ‘mod_rewrite’ được bật trên máy chủ của bạn. Vui lòng kiểm tra với quản trị viên hệ thống của bạn về cách bật mô-đun này.
Để thiết lập một phòng hotlink cho hình ảnh và các file css bạn sẽ phải nhập các văn bản dưới đây:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC]
RewriteRule \.(gif|jpg|css)$ – [F]
Điều này có nghĩa là tất cả .gif, .jpg. và các tệp .css từ tên miền của bạn yourdomain.com được bảo vệ.
6. Chỉ mục thư mục
Lệnh chỉ mục thư mục cho phép bạn hiển thị trang mặc định khi truy cập diretory. Nếu một người truy cập yêu cầu một thư mục từ trang web của bạn ví dụ ‘/ this_folder /’, nó sẽ hiển thị index.html trang mặc định.
Để thiết lập một chỉ mục thư mục, bạn chỉ cần viết các lệnh dưới đây:
DirectoryIndex index.html index.cgi index.php
Đây là lệnh để gọi nhiều tệp dưới dạng chỉ mục thư mục cho trang web của bạn.
7. Ngăn chặn truy cập vào php của bạn
Nếu bạn có một thư mục chứa PHP mà bạn không muốn được truy cập trực tiếp từ trình duyệt, có thể mã hóa thư mục bằng Mod_Rewrite.
## Enable Mod Rewrite, this is only required once in each .htaccess file
RewriteEngine On
RewriteBase /
## Test for access to includes directory
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /includes/ .*$ [NC]
## Test that file requested has php extension
RewriteCond %{REQUEST_FILENAME} ^.+\.php$
## Forbid Access
RewriteRule .* – [F,NS,L]
8. Ngăn chặn truy cập vào PHP.INI
Bạn có thể giới hạn quyền truy cập vào Php.ini của người khác bằng cách sử dụng .htaccess.
<FilesMatch “^php5?\.(ini|cgi)$”>
Order Deny,Allow
Deny from All
Allow from env=REDIRECT_STATUS
</FilesMatch>
9. Force SSL
Để buộc tất cả lưu lượng truy cập web sử dụng HTTPS, hãy chèn các dòng mã sau vào tệp .htaccess trong thư mục gốc của trang web của bạn.
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
Chỉ cần thay thế www.example.com thành tên miền thực của bạn.
Để buộc một tên miền cụ thể sử dụng HTTPS, hãy sử dụng các dòng mã sau trong tệp .htaccess trong thư mục gốc của trang web của bạn:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
Nếu bạn muốn buộc SSL trên một thư mục cụ thể, bạn có thể chèn mã bên dưới vào tệp .htaccess được đặt trong thư mục cụ thể đó:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} folder
RewriteRule ^(.*)$ https://www.example.com/folder/$1 [R,L]