1 .htaccess mang đến wp-admin2 .htaccess mang đến wp-includes3 .htaccess mang lại wp-content4 .htaccess cho wp-content/uploads

htaccess auto sinh ra sau khoản thời gian bạn cài đặt wordpress. Đây là file cấu hình server cho máy chủ Apache, thực hiện để thông số kỹ thuật permalink của website. Khi bạn update là đường truyền URL tự trang Settings > Permalinks, thì tệp tin .htaccess sẽ được sửa đổi.

Bạn đang xem: Htaccess và các vấn đề liên quan

Nội dung của file này sẽ hướng dẫn Apache đến việc điều phối website của khách hàng như ý muốn muốn. Tuy nhiên, trường hợp bạn nỗ lực sửa đổi hoặc không thực sự rành về thông số kỹ thuật của tệp tin này thì đang dẫn đến lỗi website.

*

Quá dễ ợt với tin tặc để xem các files của bạn, một manh mối đặc biệt quan trọng với chúng ta để rất có thể tấn công vào wordpress. Thêm chiếc sau vào .htaccess nhằm tắt cơ chế duyệt thư mục.

# Désactivate the display of contents of rédirectories
Options All -Indexes
Cũng 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
Index
Ignore *

Ẩn thông tin sever Apache

Với một số nhà cung cấp hosting, tất cả riêng một trang để hiển thị thông tin của máy chủ web. Nếu như bạn để lộ tin tức này cho hacker biết, server rất có thể bị tấn công, quan trọng đặc biệt nếu chúng ta không liên tục cập hệ quản lý điều hành mới.

Vì vậy, tốt nhất có thể bạn phải tắt tin tức này đi.

# Mask the information of server
Server
Signature Off

Kích hoạt theo dõi và quan sát symbolic link

Thêm chiếc sau vào .htaccess, hệ thống của các bạn sẽ có thể theo dõi và quan sát được symbolic links (vd: shortcut)

# Activation du suivi des liens symboliques
Options +Follow
Sym
Links

Cấu hình múi giờ

Không quá đặc trưng nếu chúng ta đặt máy chủ ở nước ngoài, tuy nhiên bạn có thể đ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
Set
Env TZ Europe/Paris

Mã hóa văn bạn dạng hiển thị

Hầu hết các web bây giờ đều mã hóa văn bạn dạng cho HTML là UTF8.

# Encoding by défaut des fichiers textes et HTMLAdd
Default
Charset UTF-8

Bảo vệ file thông số kỹ thuật wp-config.php

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

# Protéger le fichier wp-config.phporder allow,denydeny from all

Bảo vệ file .htaccess

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

# Protéger les fichiers .htaccess et .htpasswdsorder allow,denydeny from allsatisfaction all

Chống spam bình luận

Nếu bạn đang sẵn có blog, chắc rằng spam phản hồi là một điều bạn không thể kiêng khỏi, mình một số trong những cách phòng spam phản hồi hiểu quả bạn có thể tham khảo.

Tuy nhiên, bao gồm một mẹo nhỏ tuổi giúp bạn loại trừ 1 số bề ngoài spam phổ biến, bằng cách sử dụng .htaccess. Không có một bí quyết duy độc nhất vô nhị nào là triệt để, các bạn sẽ cần kết hợp với plugin như Akismet, rất nhiều comments của các bạn sẽ được tiến công thẻ.

# Éviter le spam de commentaires
Rewrite
Cond %REQUEST_METHOD POSTrewrite
Cond %REQUEST_URI .wp-comments-post.php*Rewrite
Cond %HTTP_REFERER !.hoangweb.com.* Rewrite
Cond %HTTP_USER_AGENT ^$Rewrite
Rule (.*) ^http::///%REMOTE_ADDR/$ Đừng quên vắt ‘hoangweb.com’ bởi tên miền của bạn.

Ngăn chặn tìm kiếm tín đồ dùng

Cho dù bạn áp dụng user ID phức tạp, vẫn hoàn toàn có thể bị tìm kiếm ra. Dĩ nhiên, các bạn không cố ý để lộ ID của user trong đồ họa Word
Press chúng ta thiết kế.

Nếu bạn truy cập hoangweb.com/?author=x cầm cố x bởi 1, hay là ID của admin. Nếu website không buổi tối ưu bảo mật, các bạn sẽ được chuyển hướng đến trang hình trạng như ‘hoangweb.com/author/idenfiant_auteur’. Khi tin tặc biết được username, họ sẽ đoán ra password.

Để bảo đảm an toàn thông tin bạn dùng, bạn áp 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/Rewrite
Cond %QUERY_STRING ^author=(<0-9>*)Rewrite
Rule .* - Vô hiệu hóa hotlinkingNhiều tín đồ lấy nguồn ảnh từ wewbsite của họ, sự thịnh hành này khiến cho nội dung chia sẻ không được cá thể hóa. Bạn muốn nội dung bài viết của mình không trở nên người khác ăn cắp, các bạn sẽ không được cho phép website không giống chèn link hình ảnh từ website của bạn? công nghệ này hotline là hotkinking.

Hotlinking hoàn toàn có thể gây lừ đừ website của người sử dụng và đạt tới giới hạn băng thông của máy chủ. Đặc biệt trường hợp website của chúng ta đang điều khiển xe trên share hosting. Để kiêng lỗi này, hãy chèn đoạn code tiếp sau đây vào .htaccess

# Désactivate le hotlinking de vos images
Rewrite
Engine On
Rewrite
Cond %HTTP_REFERER !^$Rewrite
Cond %HTTP_REFERER !^http(s)?:://(www.)?hoangweb.com Rewrite
Rule .(jpg|jpeg|png|png|gif)$ http:////fakeimg.pl/400x200/?text=Pas_images

Chặn IP

Nếu bạn nhận được chú ý một vài ba IP đã truy vấn thường xuyên và phi lý vào quản lí trị wordpress (vd: IP được phát hiện tại với plugin Login Lockdown).

Ngoài ra, bạn cũng có thể tìm ra những IP đã sản xuất spam cho website để ngăn chúng.

Giải pháp này không toàn diện, vì chưng họ hoàn toàn có thể sẽ đổi IP. Tuy nhiên, sẽ chặn được so với những bạn không thay đổi IP.

order allow,denydeny from xxx.xxx.xxx.xxx.xxxallow from all
Thay xxx.xxx.xxx.xxx.xxx với IP sẽ không còn cho truy hỏi cập.

Chặn truy cập từ một trang web khác

Nếu bạn nhận ra những link đến từ một trong những trang web cơ mà hành vi có sự bất thường. Bạn không thích những người truy cập từ gần như web kia vào web của bạn. áp dụng mã sau:

Rewrite
Engine on Rewrite
Cond %HTTP_REFER monsite1.com Rewrite
Cond %HTTP_REFERER monsite2.com Rewrite
Rule .* - Thay monsite1.com , monsite2.com bằng domain bạn sẽ liệt kê vào list 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? không ngừng mở rộng ý trên, chúng ta muốn khi visitor nhấn vào trang web của người sử dụng từ gần như site không mong muốn, thay vì chưng khóa bọn họ trên trang web, bạn sẽ chuyển qua 1 URL khác. Kỹ thuật này còn có vẻ tốt hơn, thêm mã sau vào .htaccess

# Redireiger les visitors venant site vers un other
Rewrite
Engine on
Rewrite
Cond %HTTP_REFER sitesource.com/Rewrite
Rule ^(.*)$ http:///www.sitedestination.com Nhớ nuốm URL nguồn với URL đích yêu cầu chuyển hướng.

Thông thường để thông số kỹ thuật cho server Linux thì ta phải có kỹ năng và kiến thức về quản ngại trị mạng Linux, điều này nhiều lúc gây cạnh tranh khăn cho những lập trình viên. Vậy tất cả cách nào khắc phục vấn đề này nhưng không cần đăng nhập vào thông tin tài khoản phía server ?

Ở Server bao gồm một file đặc biệt tên là .htaccess, file này có nhiệm vụ khai báo thông số kỹ thuật cho các folder kể từ thư mục mà nó vẫn đứng. Ví dụ nhiều người đang ở folder sources/.htaccess thì tất cả các folder con của folder sources cũng bị tác động bởi tệp tin này. Chúng ta cũng có thể khai báo cấm người tiêu dùng truy cập vào folder, để mật khẩu cho folder, và đặc biệt hơn nữa nhé là quản lý đường dẫn như rewrite URL, redirect URL. Đó là đối với Linux, còn so với Window thì file này sẽ mang tên là web.config và tính năng của nó cũng tương tự, mặc dù về cú pháp thực hiện thì hai file .htaccess và web.config đã khác nhau.

File .htaccess sử dụng cú pháp của Regular Expression buộc phải để sử dụng thành thành thục thì phải ban nên biết các quy tắc căn bạn dạng trong Reg
Exp, bạn không cần phải biết sâu cơ mà chỉ cần phải biết các cú pháp Reg
Exp căn bạn dạng là được. Ngoài ra nó còn có cú pháp riêng cơ mà ban đề nghị học thuộc để hiểu mà điều hướng đúng cách.

Như vậy tác dụng của tệp tin .htaccess trong một project PHP là giúp khai báo cấu hình cho project đó như viết lại đường dẫn, bảo mật thông tin file, để mật khẩu mang lại file, nhảy cache client để buổi tối ưu hóa vận tốc cho website. Và trong nội dung bài viết này đã tổng hợp toàn bộ các vấn đề này.

Nội dung chính

File htaccess là gì ?
Kiểm soát và bảo mật website với htaccess
Những ký hiệu hay sử dụng của htaccess

1. Htaccess là gì ?

File htaccess là một trong tập tin dùng để thông số kỹ thuật máy công ty web apache. Nó được trang bị chủ gật đầu đồng ý như là một trong thành phần và mang lại phép họ thực hiện điều phối và bật những tính năng một cách linh hoạt hoặc bảo vệ một phần (folder) nào kia của trang web.

Trong cái tên .htaccess thì htaccess là phần đuôi cùng tập tin này là không mang tên (noname), chính vì thế khi chúng ta đưa file này lên host chưa hẳn lúc như thế nào nó cũng hiển thị ra. Nên chưa phải lúc nào chúng ta có thể thấy tệp tin .htaccess được.

File .htaccess không được viết đề xuất từ một ngôn ngữ lập trình nào, nó được viết bởi những luật lệ Regular Expression nên nếu như khách hàng không nắm vững kiến thức này thì thao tác làm việc với file .htaccess rất cạnh tranh khăn. Và nếu như bạn chỉnh sửa file với một lỗi cho dù chỉ là nhỏ tuổi thì khi truy cập vào trang web của các bạn sẽ xuất hiện lỗi 500, do đó là bạn đã thủ thuật được web mình rồi đấy. Chính vì như vậy hãy không nguy hiểm khi sửa đổi file .htaccess và hãy luôn luôn bao gồm một tệp tin backup trước lúc chỉnh sửa nó.

Có thể thực hiện file .htaccess nhằm viết lại con đường dẫn, bảo đảm an toàn thư mục cùng file, bật công dụng cache với gzip giúp vận tốc trang web được cải thiện hơn. Cùng còn các điều hào kiệt khác nữa.

2. Mật website với htaccess

2.1. Bật công dụng Rewrite

Để bật công dụng rewrite này ta chỉ việc thêm một quãng code bé dại lên đầu tệp tin .htacess như sau:

Rewrite
Engine on2.2. Xử trí Chuyển phía lỗi

Rewrite
Engine on
Error
Document 404 http://www.example.com/404.htmlĐoạn code trên từ khóa Error
Document
có ý nghĩa sâu sắc là ví như url request bị lỗi thì xử trí chuyển hướng. Ở phía trên lỗi có hiệu lực là 404 và link chuyển phía là http://www.example.com/404.html.

Ví dụ bên trên tôi đã sử dụng một showroom đầy đầy đủ (tức là địa chỉ có full url) nhưng mà nếu ta để ở dạng local thì xuất xắc hơn.

Xem thêm: Hướng Dẫn Tết Tóc Xương Cá Đẹp Mà Dễ Dàng Thực Hiện, Quái Vật Nhí

Error
Document 401 /errir_401.html
Error
Document 403 / errir_403.html
Error
Document 404 / errir_404.html
Error
Document 400 / errir_400.html
Các số lượng lỗi bên trên có ý nghĩa như sau:

404 - Not Found401/403 - Unauthorized/Forbidden400 - Bad Request500 - Internal server Error

Và còn khôn cùng nhiêu lỗi khác tôi cần yếu liệt kê không còn được. Nhưng thông thường quy thì lỗi 404 vẫn chính là lỗi thông dụng độc nhất nên các website bây giờ chủ yếu triệu tập vào lỗi này.

2.3. Hiển thị trang index đưa mạo

Nếu các bạn vào một folder nào kia trong website mà không có file index.html thì lúc này tất cả những file hay folder đề bị thấy hết, điều này không xuất sắc lắm vị lộ hết những files với folders. Xử lý vấn đề này ta cần sử dụng file .htaccess với loại lệnh sau

Options All -Indexes
Dòng lệnh này sẽ hiển thị một thông tin Forbidden thay vị hiển thị kết cấu folder.

** 2.4. Cấu hình thiết lập trang index mặc định**

Nếu bạn có nhu cầu thiết lập file mặc định thay vị file index.html thì ban bạn thêm đoạn code sau vào tệp tin .htaccess:

Directory
Index newindex.html
Trong đó newindex.html là tên gọi file bạn có nhu cầu thiết lập.

** 2.5. Bảo về file .htaccess **

Như các bạn biết tệp tin htaccess là 1 trong những file quan trọng đặc biệt dùng để thông số kỹ thuật Server một cách dễ dàng, đang rất nguy khốn nếu hacker tiến công vào file này của bạn. Để bảo đảm fiel này ta dùng đoạn code sau:

Order Allow,Deny
Deny from all
Trong kia file .htaccess là tên file mong muốn bảo vệ. Nội dung bên phía trong có nghĩa không cho những người nào truy vấn đến tệp tin này.

Không đề nghị chỉ đảm bảo an toàn được file .htaccess mà ta tất cả thể bảo vệ một file bất kì.

** 2.6. Đặt mật khẩu cho thư mục **

Đôi thời điểm ta yêu cầu đặt mật khẩu bảo đảm an toàn một tệp tin nào đó, có nghĩa là muốn vào file đó thì đề nghị nhập usernamepassword. Để có tác dụng được điều này các bạn phải sản xuất một tệp tin với tên .htpasswd tại thư mục gốc của file bạn muốn bảo vệ kế tiếp điền văn bản sau.

My
Username:My
Password
Trong đó My
Usrename là tên gọi username, My
Password là mật khẩu, hai quý giá này chúng ta cũng có thể thay đổi bất kì.

Tiếp theo ở file .htaccess chúng ta thêm đoạn code sau:

Auth
Name "Restricted Area"Auth
Type Basic
Auth
User
File /demo/.htpasswd
Auth
Group
File /dev/nullrequire valid-user
Trong đó Auth
Name "Restricted Area" là tên chương trình. /demo/.htpasswd là đường truyền đến file htpasswd tính tự thư mục cất file .htaccess. File1.php là tên gọi file muốn bảo vệ.

3. Số đông ký hiệu thường dùng của htaccess

Để thấu hiểu và làm giỏi vấn đề này trong htaccess, bạn phải có kiến thức về Regular Expression. Trong khuôn khổ nội dung bài viết này, tôi đang không giới thiệu lại Regular Expression nữa. Khoác định các bạn đã sở hữu kiến thức này rồi.

Tôi sẽ ra mắt luôn về qui tắc viết biểu thức điều kiện trong htaccess

Ký hiệu

Danh sách các ký trường đoản cú được phép chấp nhận

**Ví dụ: ** => chỉ đồng ý ký tự a hoặc b hoặc c

Ký hiệu

Dành sách những ký tự bước đầu từ ký kết tự BEGIN và kết thúc là ký kết tự END

Ví dụ:

=> gật đầu các ký kết tự hay từ a đến z => chấp nhận các ký kết tự hoa từ A mang đến Z<0-9> => đồng ý các ký kết tự từ bỏ 0 đến 9 => gật đầu các ký kết tự tự a cho cA-Z0-9> chấp nhận các vần âm thường, hoa và những ký từ sốký hiệu min,maxXác định chiều dài mang lại chuỗi buổi tối thiếu nhưng mà MIN và tối đa là Max.

** lấy một ví dụ **

5,10 => những ký tự tự a tới z lâu năm từ 5 mang lại 10 ký kết tự1,100 => những ký tự trường đoản cú A tới Z dài từ là 1 đến 100 cam kết tự<0-9>10 => ký tự số dài 1 ký kết tựA-Z>1, => các ký từ bỏ chữ hoa hoặc chữ thường dài từ là một ký từ bỏ trở lênKý hiệu ^ cùng $^ là ký kết hiệu bước đầu chuỗi

$ là ký hiệu ngừng chuỗi.

Ví dụ

^z>10$ => chuỗi tự bắt đầu là vần âm thường, xong cũng là chữ cái thường với dài 10 ký kết tự.^framgia$ => Chuỗi thắt chặt và cố định là framgia^framgia2 chuỗi bước đầu bằng framgia và dứt là 2 ký kết tự thường** ký hiệu vết chấm (.)**Ký hiệu lốt chấm (.) đại diện thay mặt cho ký tự bất kỳ.

Ví dụ

.10,20 => ký tự bất kỳ dài từ bỏ 10 đến 20 ký tự**ký hiệu + ?, ***Dấu + : xác định chiều lâu năm 1 hoặc nhiều ký tự
Dấu ? : xác định chiều dàu 0 hoặc 1 ký kết tự
Dấu * : xác định chiều dài từ 0 hoặc nhiều ký tựVí dụ

+ => chuỗi những ký tự chữ cái thường từ 1 ký tự trở lên* => chuỗi các ký tự vần âm thường từ 0 ký kết tự trở lên? => chuỗi các ký tự vần âm thường từ bỏ 0 đến 1 cam kết tự** ký kết hiệu ()**Dùng gom nhóm các group Regular Exprsesion.

Ví dụ

()(): Góm thành 2 nhóm(): Gom thành 1 nhómKý hiệu <^>Ngược lại với ký hiệu <>, nghĩa là so khớp với phần lớn ký tự ko nằm trong danh sách cặp <>.

Ví dụ

<^a-z>5,10 => chuỗi lâu năm 5 đến 10 ký kết tự và không tồn tại ký tự chữ cái thường trường đoản cú a mang đến z<^abc> => so khớp với chuỗi ko chứa chữ cái a, b với cKý hiệu |Đây là toán tử OR vào Regular Expression, có ý nghĩa sâu sắc Regex A hoặc Regex B

(a|b) => là ký tự a hoặc b(framgia|gameviethot.com) => chuỗi framgia hoặc gameviethot.com*Ký hiệu *Dùng để đặt trước các ký hiệu đặc biệt trong chuỗi Reg
Ex. Những ký tự đặc biệt là các ký kết tự nằm trong list ký hiệu của Regular Expression.

. => cam kết tự dấu chấm chứ không phải ký hiệu lốt chấm trong Reg
Ex< => ký kết tự mở ngoặc vuông chứ chưa phải ký hiệu mở ngoặc vuông vào Reg
ExCapturing GROUPHiểu dễ dàng Capturing Group là sản phẩm công nghệ tự những group gom team trong chuỗi Reg
Ex, toàn chuỗi là group 0, tiếp đến đếm theo tứ tự từ bỏ trái qua phải để tìm đến những group tiếp theo.

Ví dụ

1,2)(<0-9>10,20) => tất cả 3 capturing group: đầu tiên là toàn chuỗi regex =>(1,2)(<0-9>10,20) thứ hai là theo sản phẩm công nghệ tự từ bỏ trái qua yêu cầu ta gặp mặt group trước tiên (1,2) sản phẩm 3 là group tiếp sau (<0-9>10,20)Ta dùng rất nhiều Capturing Group này để truyền vào URL khi viết lại băng thông (Rewrite Url).

** các ký hiệu riêng của tệp tin htaccess**

- Forbidden: Kí từ bỏ này dùng để làm chỉ định server vẫn trả về client trang lỗi 403 nếu truy vấn vào đông đảo nơi không được phép.

- Last rule: kí từ bỏ này để ấn định rằng bước trước đã ngừng thì hoàn thành và không liên tiếp thực thi lệnh rewrite tiếp theo sau nữa.

- Next: thông tư cho server thường xuyên rewrite cho đến rule kế tiếp.

- Gone: chỉ định server trả về client trang báo lỗi ko tồn trên (no longer exit)

- Proxy: hướng đẫn server điểu kiển những yêu cầu được ấn định bởi mod_proxy

- Chain: chỉ định server thực hiện rule hiện hành tuy nhiên song với rule trước đó.

- Redirect: chỉ định và hướng dẫn server đổi hướng request qua một trang không giống trong trường vừa lòng trình chuyên chú gởi yêu cầu duyệt một trang được sửa chữa đường dẫn (rewrite) trước đó.

- No-case: chỉ định server match không riêng biệt hoa thường.

- Pass Through: có nghĩa là dùng kí tự nhằm buộc "rewrite engine" ấn định bảng báo giá trị của uri trở nên giá trị của tên files.

- Toán tử khám nghiệm từ bên trên xuống dưới, nếu điều kiện nào đúng thì dừng.

- No Escape: chỉ định và hướng dẫn server xử lí các gói tin trả về nhưng mà không cần sử dụng kí trường đoản cú thoát

- No Subrequest: chỉ định và hướng dẫn server bỏ lỡ thư mục hiện tại hành trường hợp request nhắm vào folder con.

- Append Query String: hướng đẫn server thêm chuỗi truy tìm vấn vào sau cuối của URL

Skip: hướng dẫn và chỉ định server bỏ qua mất không chăm chú x rules tiếp sau nữa trường hợp một rule đã làm được thực thi.

- Khai báo định dạng files của server.

-d soát sổ thư mục bao gồm tồn tại hay không?

-f khám nghiệm file gồm tồn tại xuất xắc không

-s khám nghiệm giá trị của file tất cả khác 0 tuyệt không?

Kết luận

Ở nội dung bài viết này, tôi đã reviews cho các bạn những kỹ năng và kiến thức về htaccess. Mong muốn rằng bài viết này đã giúp các bạn giải quyết được những trường hợp về htaccess mà các bạn gặp đề nghị trong thực tế. Chúc chúng ta học tốt !

-->