Hướng dẫn cấu hình .htaccess từ a-z – Hoàng Web

htaccess tự động sinh ra sau khi bạn cài đặt wordpress. Đây là file cấu hình server cho máy chủ Apache, sử dụng để cấu hình permalink của website. Khi bạn cập nhật là đường dẫn URL từ trang Settings > Permalinks, thì file .htaccess sẽ được sửa đổi.

Nội dung của file này sẽ chỉ dẫn Apache cho việc điều hướng website của bạn như mong muốn. Tuy nhiên, nếu bạn cố gắng sửa đổi hoặc không thực sự rành về cấu hình của file này thì sẽ dẫn đến lỗi website.

Nhờ có .htaccess bạn có thể:

  • Cải thiện bảo mật wordpress
  • Tăng tốc độ load trang
  • Thiết lập chuyển hướng
  • Giới hạn/chống spam
  • ..

Vị trí của. htaccess sẽ nằm tại thư mục gốc chứa code WordPress ( chứa thư mục wp-admin, wp-includes và wp-content ). Bạn hoàn toàn có thể tạo nhiều file. htaccess ở những thư mục con khác. Với WordPress hoàn toàn có thể đặt ở thư mục wp-admin, wp-content / uploads

. htaccess sẽ có tác động ảnh hưởng khởi đầu từ trong thư mục mẹ chứa nó, và những thư mục con trở vào .

Bạn tưởng tượng, nếu file. htaccess trong thư mục wp-content / uploads, thư mục ` uploads ` và những thư mục con của nó sẽ bị tác động ảnh hưởng bởi file. htaccess này. Hãy cẩn trọng ! !
Sửa code trong. htaccess khá đơn thuần, với những đoạn snippet mẫu mà tôi sẽ đề cập trong bài viết này. Trước khi khởi đầu, bạn nên tạo bản sao. htaccess, nếu có sẩy ra lỗi bạn thuận tiện Phục hồi. Mặc định file. htaccess có nội như thế này .

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule. /index.php [L]

# WordPress

Nếu bạn cài đặt WordPress multisite, code sẽ khác 1 chút. Tiếp sau bạn sẽ cần bổ xung cấu hình với các đoạn snippet mà mình trình bày ở dưới đây. Chú ý, đừng sửa code trong phần # BEGIN WordPress# END WordPress vì đây là nội dung tạo bởi wordpress, rất có thể sẽ bị tạo lại bạn cập nhật lại permalink.

Tắt duyệt thư mục

Mặc định nếu bạn truy cập vào một thư mục, server sẽ trả về trang liệt kê các files có trong đó. Nó trông giống như trình quản lý file đạng đơn giản.

Quá thuận tiện với hacker để xem những files của bạn, một manh mối quan trọng với họ để hoàn toàn có thể tiến công vào wordpress. Thêm dòng sau vào. htaccess để tắt chính sách duyệt thư mục .

# Désactivate the display of contents of rédirectories
Options All -Indexes

Cũng hoàn toàn có thể sử dụng mã này để chặn duyệt thư mục theo cách khác .

# Alternative pour empêcher le listing des rédirectories
IndexIgnore *

Ẩn thông tin sever Apache

Với 1 số ít nhà cung ứng hosting, có riêng một trang để hiển thị thông tin của sever web. Nếu bạn để lộ thông tin này cho hacker biết, server hoàn toàn có thể bị tiến công, đặc biệt quan trọng nếu bạn không liên tục cập hệ quản lý mới .
Vì vậy, tốt nhất bạn nên tắt thông tin này đi .

# Mask the information of server
ServerSignature Off

Kích hoạt theo dõi symbolic link

Thêm dòng sau vào. htaccess, server của bạn sẽ hoàn toàn có thể theo dõi được symbolic link ( vd : shortcut )

# Activation du suivi des liens symboliques
Options +FollowSymLinks

Cấu hình múi giờ

Không quá quan trọng nếu bạn đặt sever ở quốc tế, tuy nhiên bạn hoàn toàn có thể kiểm soát và điều chỉnh lại múi giờ bằng cách thêm mã này vào. htaccess

# Choix du fuseau horaire
SetEnv TZ Europe/Paris

Mã hóa văn bản hiển thị

Hầu hết những web lúc bấy giờ đều mã hóa văn bản cho HTML là UTF8 .

# Encoding by défaut des fichiers textes et HTML
AddDefaultCharset UTF-8

Bảo vệ file cấu hình wp-config.php

Đây là File chứa hàng loạt cấu hình của WordPress, như thông tin database. Đó là thông tin nhạy cảm, cần được bảo mật thông tin. Thêm những dòng sau vào. htaccess

# Protéger le fichier wp-config.php

order allow,deny
deny from all

Bảo vệ file. htaccess

Cũng giống wp-config.php, file. htaccess cần được bảo vệ. Để làm điều này, bạn chèn đoạn mã ở dưới đây :

# Protéger les fichiers .htaccess et .htpasswds

order allow,deny
deny from all
satisfaction all

Chống spam phản hồi

Nếu bạn đang có blog, chắc rằng spam phản hồi là một điều bạn không hề tránh khỏi, mình 1 số ít cách chống spam phản hồi hiểu quả bạn hoàn toàn có thể tìm hiểu thêm .
Tuy nhiên, có một mẹo nhỏ giúp bạn vô hiệu 1 số hình thức spam phổ cập, bằng cách sử dụng. htaccess. Không có một cách duy nhất nào là triệt để, bạn sẽ cần phối hợp với plugin như Akismet, những comments của bạn sẽ được đánh thẻ .
Xem thêm :

#  Éviter le spam de commentaires

RewriteCond %{REQUEST_METHOD} POST
rewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.hoangweb.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http::///%{REMOTE_ADDR}/$ [R=3D301,L]

Đừng quên thay ‘ hoangweb.com ’ bằng tên miền của bạn .

Ngăn chặn tìm kiếm người dùng

Cho dù bạn sử dụng user ID phức tạp, vẫn hoàn toàn có thể bị tìm ra. Dĩ nhiên, bạn không cố ý để lộ ID của user trong giao diện WordPress bạn phong cách thiết kế .

Nếu bạn truy cập hoangweb.com/?author=x thay x bằng 1, thường là ID của admin. Nếu trang web không tối ưu bảo mật, bạn sẽ được chuyển hướng đến trang kiểu như ‘hoangweb.com/author/idenfiant_auteur’. Khi hacker biết được username, họ sẽ đoán ra password.

Để bảo vệ thông tin người dùng, bạn sử dụng đoạn code sau :

# Éviter que l'on décover l'identifiant d'un auteur
# Merci à Jean-Michel Silone of Group Facebook WP-Secure https://www.facebook.com/groups/wp.security/

RewriteCond %{QUERY_STRING} ^author=([0-9]*)
RewriteRule .* - [F

Vô hiệu hóa hotlinking

Nhiều người lấy nguồn ảnh từ wewbsite của họ, sự thông dụng này khiến nội dung san sẻ không được cá thể hóa. Bạn muốn bài viết của mình không bị người khác đánh cắp, bạn sẽ không được cho phép website khác chèn link ảnh từ web của bạn ? công nghệ tiên tiến này gọi là hotkinking .
Hotlinking hoàn toàn có thể gây chậm website của bạn và đạt tới số lượng giới hạn băng thông của sever. Đặc biệt nếu website của bạn đang chạy trên share hosting. Để tránh lỗi này, hãy chèn đoạn code dưới đây vào. htaccess

# Désactivate le hotlinking de vos images
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?:://(www\.)?hoangweb.com [NC]
RewriteRule \.(jpg|jpeg|png|png|gif)$ http:////fakeimg.pl/400x200/?text=Pas_images [NC,R,L]

Chặn IP

Nếu bạn nhận được cảnh báo nhắc nhở một vài IP đã truy vấn tiếp tục và không bình thường vào quản trị wordpress ( vd : IP được phát hiện với plugin Login Lockdown ) .
Ngoài ra, bạn cũng hoàn toàn có thể tìm ra những IP đã tạo spam cho website để chặn chúng .
Giải pháp này không tổng lực, vì họ hoàn toàn có thể sẽ đổi IP. Tuy nhiên, sẽ chặn được so với những người không đổi IP .


order allow,deny
deny from xxx.xxx.xxx.xxx.xxx
allow from all

Thay xxx.xxx.xxx.xxx.xxx với IP sẽ không cho truy vấn .

Chặn truy vấn từ một website khác

Nếu bạn nhận ra những link đến từ một số ít website mà hành vi có sự không bình thường. Bạn không muốn những người truy vấn từ những web đó vào web của bạn. Sử dụng mã sau :


 RewriteEngine on
 RewriteCond %{HTTP_REFER} monsite1.com [NC,OR]
 RewriteCond %{HTTP_REFERER} monsite2.com [NC,OR]
 RewriteRule .* - [F]

Thay monsite1.com, monsite2.com bằng domain bạn sẽ liệt kê vào danh sách chặn.

Chuyển hướng người dùng từ site này sang site khác .

Bạn không muốn người dùng không xem được web ? lan rộng ra ý trên, tất cả chúng ta muốn khi người truy vấn nhấn vào website của bạn từ những site không mong ước, thay vì khóa họ trên website, bạn sẽ chuyển sang 1 URL khác. Kỹ thuật này có vẻ như hay hơn, thêm mã sau vào. htaccess

# Redireiger les visitors venant site vers un other
RewriteEngine on
RewriteCond %{HTTP_REFER} sitesource\.com/
RewriteRule ^(.*)$ http:///www.sitedestination.com [R=301,L]

Nhớ thay URL nguồn và URL đích cần chuyển hướng .

Thiết lập chuyển hướng

Bên cạnh những tính năng bảo mật thông tin, htaccess được cho phép bạn cấu hình chuyển hướng. Nếu bạn thiết lập nhiều chuyển hướng, thì nên sử dụng plugin Redirection .
Ví dụ sau, sẽ thêm chuyển hướng cho pages .

# Redirection d'une page quel
Redirect 301 /anciennepage/ http://www.monsite.com/nouvellepage


# Redirection of a new catégorie (with rename of category en category)
Redirect 301 /category/technology/ http:///www.monsite.com/categorie/techno/

Chuyển hướng URL sang www .

Chuyển hướng thông dụng nhất từ URL không có www sang URL có dạng www ( hoặc ngược lại ). Một số nhà phân phối hosting có tự động hóa thao tác này hoặc bạn phải cấu hình thêm trong quản trị hosting .
Nếu bạn muốn dữ thế chủ động triển khai, thêm code này vào. htaccess và thay bằng URL của bạn .

# Redirection du site sans www vers www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^monsite.com [NC]
RewriteRule ^(.*)$ http://www.monsite.com/$1 [L,R=301]

Chuyển hướng sang HTTPS

Nếu bạn có setup chứng từ SSL cho WordPress để chuyển URL từ http sang https, sử dụng đoạn mã dưới đây .

# Redirection vers HTTPS 
RewriteCond      %{SERVER_PORT} ^80$
RewriteRule      ^(.*)$ https:///%{SERVER_NAME}%{REQUEST_URI} [L,R]

Tùy biến trang bảo dưỡng ( maintenance )

Để tạo trang thông tin web đang bảo dưỡng, bạn hoàn toàn có thể sử dụng đoạn code sau :

# Page de de maintenance
RewriteEngine on
RewriteCond %{REQUEST_URI} !%2Maintenance.html$
RewriteCond %%{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx
RewriteRule $  /maintenance.html [R=302,L]

Bước tiếp theo, bạn sẽ cần :

  • Tạo file .html với nội dung thông báo website đang trong chế độ bảo trì.
  • Thêm IP ở dòng 4 (dữ ký tự \)

Khi website hoạt động giải trí trở lại, hãy xóa mã trên hoặc thêm # vào trước mỗi dòng lệnh .

Kích hoạt cache

. htaccess được cho phép bạn cache tài nguyên trên trình duyệt của người dùng để website chạy nhanh hơn. Thay vì, đó trình duyệt chỉ cần nạp tác dụng truy vấn một lần sẽ tăng thời hạn tải trang .
Để làm điều này, chèn đoạn mã sau :

# Mise en cache des fichiers in le navigateur

ExpiresActive On
ExpiresDefault "access plus 1 month"


ExpiresByType text/html "access plus 0 AExpiresByType " text/xml  AexpiresByType appfont-ttf "access plus 1 month month"
ExpiresByType font/opentype "access plus 1 month month""
ExpiresByType plus Application/x-font-woff2 "access plus 1 month month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month month"


ExpiresByType image/jpg  "access plus 1 month"AExpiresByType  Axpires image 1 month"
ExpiresByType image/gif "access plus 1 monthshockwave-flash "access plus 1 week"
ExpiresByType image/x-icon  "access plus 1 week"



# En-têtes
Header unset ETag
FileETag None


   
   
     Header set Cache-Control  "public"  
/ilesMatch>  
    
     Header set Cache-Control  "public"  


Header set Cache-Control “private”

Header set Cache-Control Cache-Control “private, must-revalidate”

Xem thêm hướng dẫn tăng tốc wordpress với WP Super Cache .

Vô hiệu hóa truy vấn tài nguyên

WordPress sử dụng scripts trong thư mục ` wp-includes `, bạn hoàn toàn có thể vô hiệu người dùng truy vấn trực tiếp .

# Block use of certain scripts
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
rewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^^./]+[\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]

Bảo vệ chống lại những mối rình rập đe dọa khác

Ở facebook, Richard nói với rằng hoàn toàn có thể bảo mật thông tin “ clickjacking ” và những loại tiến công khác với vài dòng code được thêm vào. htaccess

clickjacking là công nghệ mà có thể cho người truy cập nhận tin rằng họ đang trên website của bạn khi đây không là trường hợp, nhờ vào thẻ frame hoặc iframe.

Mã dưới đây bảo vệ từ cú click chuột, chiến đấu với những mối rình rập đe dọa và chặn nội dung trong trường hợp bị tiến công XSS .

# Protections  diverses (XSS, clickjacking and MIME-Type sniffing)

Header set X-XSS-Protection  "1; mode=block"
Header always append X-Frame-Options SAMEORIGIN
Header set X-Content-Type-Options: "nosniff”

. htaccess cho wp-admin

wp-admin là mạng lưới hệ thống quản trị của WordPress, nơi bạn sẽ đăng bài viết, cấu hình menu, giao diện ..
Không ai hoàn toàn có thể truy vấn phạm pháp, bạn sẽ cần thông tin tài khoản đăng nhập để có quyền quản trị website .
Ở dưới đây là những gì bạn hoàn toàn có thể tăng tính bảo mật thông tin với file. htaccess mà bạn sẽ cần đặt trong thư mục wp-admin .

Giới hạn truy vấn vào trang quản trị

Chỉ được cho phép người dùng có IP này sẽ được truy vấn vào thư mục wp-admin. Điều này sẽ ngăn cấm người lạ lẫm liên kết vào website của bạn, thậm trí nếu họ có được thông tin tài khoản đăng nhập .


order deny,allow
deny from all
# IP Alex
allow from xxx.xxx.xxx.xxx.xxx
# IP of Nico
allow from xxx.xxx.xxx.xxx
# IP of other point ofaccès
allow from xxx.xxx.xxx.xxx.xxx


Xem thêm cách chặn IP truy vấn cho WordPress

Thêm thông tin xác nhận lớp 2

Khi bạn liên kết vào phần quản trị của WordPress, trước khi hoàn toàn có thể quản trị bài viết, giao diện, plugin .. bạn sẽ cần phải đăng nhập sử dụng username và password. Tuy nhiên, htaccess cũng hoàn toàn có thể được cho phép thêm một lớp xác nhận thứ 2 .
Đầu tiên, bạn tạo file. htpasswd trong thư mục ` wp-admin `, nội dung của file này chứa username và mật khẩu đã mã hóa. Tạo htpasswd tất cả chúng ta sẽ sử dụng công cụ https://www.htaccesstools.com/htpasswd-generator/ .
SAu đó, chèn đoạn mã sau vào file. htaccess

# Second authentication for administration


Order allow,deny
Allow from all
Satisfy any 



AuthName "Connection à l administration"
AuthType Basic
AuthUserFile "/chemin/plet/verse/le/ilehtpasswd"


Require valid-user

Lưu ý : nếu bạn sử dụng lớp bảo mật thông tin trên, ajax sẽ không hoạt động giải trí .

. htaccess cho wp-includes

Chặn truy vấn vào file PHP

Tạo file. htaccess trong thư mục wp-includes và dán nội dung như dưới đây để không được cho phép ai đó truy vấn trực tiếp vào file php .

# Block les accès directs aux fichiers PHP (Merci à Sucuri)

allow Aallow from all


  
      Order allow,deny
     Deny from all
   
  
      Require all denied
   
:

  Allow from all



  Allow from all

Kỹ thuật trên được cung ứng bởi plugin Sucuri .

. htaccess cho wp-content

Chặn truy vấn vào file PHP

Đối với thư mục `wp-content`, code cũng tương tự:

# Block les accès directs aux fichiers PHP (Merci à Sucuri)

   
     Order allow,deny
       Deny from all
  
   
      Require all denied
   

:

. htaccess cho wp-content / uploads

Chặn truy vấn vào file PHP

Kế thừa code ở trên, bảo vệ thư mục nơi những file ảnh, pdf, audio, video được tàng trữ. Do không có file php nào cần được gọi ở trong thư mục này, nên cũng cần được bảo vệ .

# Block les accès directs aux fichiers PHP (Merci à Sucuri)

   
     Order allow,deny
       Deny from all
  
   
      Require all denied
   

:

Có nhiều cách để bảo mật thông tin WordPress, sử dụng. htaccess là cách tiếp cận tiên phong và không hề bỏ lỡ. Hãy luôn sao lưu file. htaccess và Phục hồi lại mỗi khi bạn cấu hình lỗi .
Để nhận được bài viết mới vui vẻ ĐK kênh kỹ năng và kiến thức WordPress từ A-Z ở Form bên dưới. Bạn cũng hoàn toàn có thể nhận được sự trợ giúp trên Twitter và Facebook