Bạn đang quản lý website trên DirectAdmin và đột nhiên gặp phải thông báo lỗi “405 Method Not Allowed“? Đây là một trong những mã lỗi HTTP phổ biến có thể gây gián đoạn hoạt động, ảnh hưởng trực tiếp đến trải nghiệm người dùng và các chức năng quan trọng của trang web. Việc hiểu rõ nguyên nhân và cách khắc phục không chỉ giúp website của bạn hoạt động trở lại bình thường mà còn là một kỹ năng thiết yếu để quản lý hosting một cách hiệu quả và chuyên nghiệp. Lỗi này thường xuất phát từ các cấu hình sai trong file .htaccess hoặc do những giới hạn từ phía máy chủ. Bài viết này sẽ cung cấp một hướng dẫn chi tiết, từ định nghĩa, nguyên nhân sâu xa cho đến các bước xử lý triệt để lỗi 405 trên môi trường DirectAdmin, giúp bạn tự tin làm chủ hệ thống của mình.
Lỗi 405 Method Not Allowed là gì?
Khi bạn tương tác với một trang web, trình duyệt của bạn sẽ gửi các yêu cầu đến máy chủ bằng những “phương thức” (methods) khác nhau, chẳng hạn như GET để tải trang, POST để gửi dữ liệu biểu mẫu, hoặc DELETE để xóa một tài nguyên. Lỗi 405 Method Not Allowed là một mã trạng thái HTTP cho biết máy chủ đã nhận và nhận dạng được phương thức yêu cầu từ trình duyệt, nhưng nó từ chối thực hiện yêu cầu đó vì phương thức này không được hỗ trợ hoặc không được cho phép đối với tài nguyên được yêu cầu.
Định nghĩa lỗi 405
Hãy tưởng tượng bạn đến một thư viện và muốn mượn một cuốn sách (tài nguyên). Bạn sử dụng phiếu yêu cầu “mượn sách” (phương thức GET), thủ thư sẽ hiểu và đưa sách cho bạn. Nhưng nếu bạn đưa một phiếu yêu cầu “xé trang sách” (một phương thức không được phép), thủ thư sẽ hiểu yêu cầu của bạn nhưng từ chối thực hiện. Lỗi 405 cũng hoạt động tương tự. Máy chủ web (như Apache hoặc Nginx) đã được cấu hình để không chấp nhận một số phương thức HTTP nhất định trên một URL cụ thể. Điều này thường là một biện pháp bảo mật để ngăn chặn các hành động không mong muốn, nhưng đôi khi lại chặn nhầm các yêu cầu hợp lệ từ người dùng hoặc ứng dụng. Bạn có thể xem chi tiết về cách cấu hình file .htaccess để hiểu sâu hơn về cách đặt quy tắc phương thức.

Ảnh hưởng của lỗi 405 trên DirectAdmin
DirectAdmin là một bảng điều khiển mạnh mẽ giúp bạn quản lý mọi khía cạnh của dịch vụ hosting. Khi lỗi 405 xuất hiện, nó có thể gây ra nhiều phiền toái. Ví dụ, một biểu mẫu liên hệ trên website của bạn sử dụng phương thức POST để gửi thông tin. Nếu máy chủ chặn phương thức POST cho trang đó, người dùng sẽ không thể gửi biểu mẫu và nhận được thông báo lỗi 405. Tương tự, các plugin WordPress, các ứng dụng web tùy chỉnh, hoặc các API giao tiếp với website có thể ngừng hoạt động nếu chúng sử dụng các phương thức HTTP (như PUT, DELETE, PATCH) bị máy chủ từ chối. Điều này không chỉ làm giảm trải nghiệm người dùng mà còn có thể gây mất dữ liệu, ảnh hưởng đến hoạt động kinh doanh và uy tín của website. Để hiểu rõ hơn các sự cố liên quan đến plugin, bạn có thể đọc bài viết Giải quyết xung đột plugin WordPress.
Nguyên nhân gây lỗi 405 trong môi trường DirectAdmin
Lỗi 405 Method Not Allowed không tự nhiên xuất hiện. Nó là kết quả của các quy tắc và cấu hình được thiết lập ở cấp độ máy chủ hoặc ứng dụng. Trong môi trường DirectAdmin, có hai “thủ phạm” chính thường gây ra sự cố này: file .htaccess và cấu hình của máy chủ web.
Lỗi do thiết lập sai file .htaccess
File .htaccess là một tệp tin cấu hình cực kỳ mạnh mẽ, cho phép bạn tùy chỉnh hành vi của máy chủ Apache trên cơ sở từng thư mục. Nó có thể kiểm soát việc chuyển hướng URL, quản lý bộ nhớ đệm, và quan trọng nhất là đặt ra các quy tắc bảo mật. Một trong những quy tắc đó là giới hạn các phương thức HTTP được phép.
Chẳng hạn, để tăng cường bảo mật, một số quản trị viên hoặc plugin bảo mật có thể thêm các dòng lệnh vào .htaccess để chỉ cho phép các phương thức an toàn như GET và HEAD, đồng thời chặn các phương thức khác như POST, PUT, DELETE. Một ví dụ phổ biến gây ra lỗi 405 là khi một quy tắc được viết quá chặt chẽ, vô tình chặn luôn cả phương thức POST cần thiết cho việc gửi biểu mẫu hoặc đăng nhập. Các chỉ thị như RewriteCond %{REQUEST_METHOD} hoặc <LimitExcept> thường là nơi các quy tắc này được định nghĩa. Nếu cấu hình sai, bạn có thể tham khảo hướng dẫn chi tiết về file .htaccess để điều chỉnh chính xác.

Lỗi do cấu hình server hoặc hosting
Ngoài file .htaccess, lỗi 405 cũng có thể bắt nguồn từ cấu hình toàn cục của máy chủ web (Apache hoặc Nginx). Các nhà cung cấp hosting, vì lý do bảo mật, có thể tắt một số phương thức HTTP ít phổ biến trên toàn bộ hệ thống của họ. Ví dụ, phương thức DELETE hoặc PUT có thể bị vô hiệu hóa để ngăn chặn các cuộc tấn công tiềm tàng.
Trong DirectAdmin, mặc dù người dùng có quyền kiểm soát cao, các thiết lập cốt lõi của máy chủ thường do quản trị viên hệ thống quản lý, đặc biệt là trên các gói shared hosting. Một nguyên nhân khác là các module bảo mật như mod_security. Module này hoạt động như một bức tường lửa ứng dụng web, phân tích các yêu cầu gửi đến máy chủ. Nếu một yêu cầu (ví dụ như một lệnh POST từ một plugin) có vẻ đáng ngờ hoặc khớp với một quy tắc trong bộ lọc của mod_security, nó sẽ bị chặn và máy chủ trả về lỗi 405. Để tìm hiểu cách hoạt động và cách tác động của mod_security, bạn có thể xem thêm bài viết Giải pháp mod_security trên DirectAdmin.
Hướng dẫn kiểm tra và cấu hình lại file .htaccess để khắc phục lỗi
Vì file .htaccess là nguyên nhân phổ biến nhất gây ra lỗi 405, việc kiểm tra và chỉnh sửa nó là bước đầu tiên và quan trọng nhất trong quá trình khắc phục sự cố. Quá trình này đòi hỏi sự cẩn thận để tránh làm website của bạn gặp lỗi nặng hơn.
Cách kiểm tra file .htaccess có gây lỗi không
Trước khi thực hiện bất kỳ thay đổi nào, bạn phải sao lưu file .htaccess hiện tại. Đây là quy tắc vàng để đảm bảo bạn có thể khôi phục lại trạng thái ban đầu nếu có sự cố xảy ra.
- Đăng nhập vào DirectAdmin: Truy cập vào tài khoản DirectAdmin của bạn.
- Mở File Manager: Tìm và chọn công cụ “File Manager”.
- Điều hướng đến thư mục gốc: Đi vào thư mục
public_html(hoặc thư mục gốc của website bạn đang gặp lỗi). - Hiển thị file ẩn: File
.htaccesslà một file ẩn. Hãy chắc chắn rằng bạn đã bật chế độ xem các file ẩn (dotfiles) trong phần cài đặt của File Manager. - Sao lưu file: Tìm file
.htaccess, nhấp chuột phải và chọn “Rename”. Đổi tên nó thành.htaccess_backup. Thao tác này sẽ vô hiệu hóa file và mọi quy tắc bên trong nó. - Kiểm tra lại website: Quay lại trang web của bạn và thực hiện lại hành động đã gây ra lỗi 405. Nếu lỗi không còn xuất hiện, bạn đã xác định chính xác thủ phạm là file
.htaccess. Nếu lỗi vẫn còn, bạn có thể đổi tên file trở lại thành.htaccessvà chuyển sang kiểm tra các nguyên nhân khác.

Cách sửa lỗi trong file .htaccess
Nếu bạn đã xác định .htaccess là nguyên nhân, bước tiếp theo là tìm ra dòng lệnh cụ thể gây ra lỗi. Mở file .htaccess (bản gốc, không phải bản backup) bằng trình chỉnh sửa văn bản của File Manager.
Bạn cần tìm các chỉ thị liên quan đến việc giới hạn phương thức HTTP. Hãy chú ý đến các khối lệnh như <Limit>, <LimitExcept> hoặc các dòng có chứa RewriteCond %{REQUEST_METHOD}.
Ví dụ về đoạn mã gây lỗi:
<LimitExcept GET POST HEAD>
Order Allow,Deny
Deny from all
</LimitExcept>
Đoạn mã trên chỉ cho phép các phương thức GET, POST, và HEAD, chặn tất cả các phương thức khác. Nếu ứng dụng của bạn cần dùng phương thức PUT, nó sẽ gây ra lỗi 405.
Cách sửa:
Bạn có thể tạm thời vô hiệu hóa đoạn mã này bằng cách thêm dấu # vào đầu mỗi dòng để biến chúng thành chú thích.
# <LimitExcept GET POST HEAD>
# Order Allow,Deny
# Deny from all
# </LimitExcept>
Sau khi vô hiệu hóa (hoặc xóa) các quy tắc đáng ngờ, hãy lưu file lại và kiểm tra lại website. Nếu lỗi đã được khắc phục, bạn cần xem xét lại xem quy tắc đó có thực sự cần thiết cho bảo mật hay không và tìm cách viết lại nó một cách linh hoạt hơn để không chặn các yêu cầu hợp lệ. Xem thêm các kinh nghiệm sửa lỗi file .htaccess để tối ưu hơn.

Kiểm tra và điều chỉnh thiết lập server liên quan đến phương thức HTTP
Nếu việc chỉnh sửa file .htaccess không giải quyết được vấn đề, nguyên nhân có thể nằm ở tầng cấu hình máy chủ. Việc can thiệp vào đây phức tạp hơn và quyền hạn của bạn sẽ phụ thuộc vào loại dịch vụ hosting bạn đang sử dụng (Shared Hosting, VPS, hay Dedicated Server).
Tùy chỉnh Apache/Nginx thông qua DirectAdmin
Đối với người dùng VPS hoặc máy chủ riêng có quyền truy cập root, DirectAdmin cung cấp các công cụ để tùy chỉnh cấu hình máy chủ web. Bạn có thể tìm thấy các tùy chọn này trong mục “Custom HTTPD Configurations“. Tại đây, bạn có thể kiểm tra các file cấu hình của Apache hoặc Nginx để tìm các chỉ thị toàn cục đang giới hạn phương thức HTTP.
Hãy tìm kiếm các quy tắc tương tự như trong file .htaccess, chẳng hạn như các khối <Directory> hoặc <Location> có chứa các lệnh giới hạn phương thức. Ngoài ra, hãy kiểm tra log lỗi của máy chủ (thường là error_log của Apache) để tìm manh mối. Log có thể ghi lại chi tiết về yêu cầu bị từ chối và quy tắc nào đã gây ra nó, đặc biệt là các lỗi liên quan đến mod_security. Nếu bạn phát hiện một quy tắc mod_security đang chặn nhầm yêu cầu hợp lệ, bạn có thể cần phải vô hiệu hóa quy tắc đó cho tên miền của mình (whitelist) hoặc liên hệ nhà cung cấp hosting để được hỗ trợ.

Điều chỉnh cấu hình DirectAdmin cho phù hợp
Đối với người dùng trên các gói Shared Hosting, bạn sẽ không có quyền truy cập trực tiếp để chỉnh sửa file cấu hình máy chủ. Trong trường hợp này, cách tốt nhất là liên hệ với đội ngũ hỗ trợ kỹ thuật của nhà cung cấp hosting của bạn (chẳng hạn như AZWEB).
Hãy cung cấp cho họ thông tin chi tiết nhất có thể:
- URL chính xác nơi xảy ra lỗi.
- Hành động cụ thể gây ra lỗi (ví dụ: “khi tôi nhấn nút Gửi trên biểu mẫu liên hệ”).
- Thời gian lỗi xảy ra.
- Các bước bạn đã thử để khắc phục (ví dụ: “tôi đã kiểm tra và vô hiệu hóa file .htaccess nhưng không có tác dụng”).
Với những thông tin này, đội ngũ kỹ thuật có thể nhanh chóng kiểm tra log của máy chủ, rà soát các quy tắc mod_security và xác định xem có cấu hình nào ở cấp độ máy chủ đang gây ra lỗi 405 hay không. Họ sẽ có đủ thẩm quyền để điều chỉnh các thiết lập cần thiết và giúp website của bạn hoạt động trở lại bình thường.
Các bước xử lý lỗi để đảm bảo quản lý hosting hiệu quả
Để xử lý lỗi 405 một cách có hệ thống và không bỏ sót nguyên nhân nào, bạn nên tuân theo một quy trình chẩn đoán tuần tự. Cách tiếp cận này giúp bạn tiết kiệm thời gian và tránh thực hiện những thay đổi không cần thiết có thể gây ra thêm sự cố.
Quy trình tuần tự xử lý lỗi 405 trên DirectAdmin
Hãy làm theo các bước sau đây một cách bài bản:
- Kiểm tra Log lỗi (Error Logs): Đây luôn là bước đầu tiên. Đăng nhập vào DirectAdmin, tìm đến mục “Site Summary / Statistics / Logs” và xem các file log lỗi gần nhất. Log có thể cung cấp thông tin vô giá về nguyên nhân gốc rễ, chẳng hạn như một file script cụ thể đang gây lỗi hoặc một quy tắc bảo mật đã được kích hoạt.
- Rà soát
.htaccess: Như đã hướng dẫn ở phần trước, hãy tạm thời đổi tên file.htaccessthành.htaccess_backupđể vô hiệu hóa nó. Nếu lỗi biến mất, vấn đề chắc chắn nằm trong file này. Bạn hãy kiểm tra lại từng quy tắc, đặc biệt là các lệnhRewriteRulevàLimit. - Kiểm tra Plugin và Theme (đối với CMS như WordPress): Nếu
.htaccesskhông phải là nguyên nhân, hãy thử vô hiệu hóa tất cả các plugin. Nếu lỗi được khắc phục, hãy kích hoạt lại từng plugin một và kiểm tra sau mỗi lần kích hoạt để tìm ra plugin gây xung đột. Các plugin bảo mật hoặc caching thường là thủ phạm chính. Chi tiết về xử lý xung đột plugin bạn có thể tham khảo tại phân tích xung đột plugin WordPress. - Kiểm tra Cấu hình Server: Nếu các bước trên đều không hiệu quả, khả năng cao là lỗi xuất phát từ cấu hình máy chủ. Đây là lúc bạn nên liên hệ với nhà cung cấp dịch vụ hosting của mình để nhờ họ kiểm tra các quy tắc của máy chủ web và tường lửa ứng dụng (
mod_security).

Cách kiểm tra thực tế sau khi sửa lỗi
Sau khi bạn thực hiện một thay đổi, việc kiểm tra lại là cực kỳ quan trọng để xác nhận lỗi đã được giải quyết triệt để.
- Sử dụng Trình duyệt ẩn danh (Incognito Mode): Mở một cửa sổ trình duyệt mới ở chế độ ẩn danh để truy cập trang web. Điều này giúp tránh ảnh hưởng từ bộ nhớ đệm (cache) của trình duyệt, đảm bảo bạn đang xem phiên bản mới nhất của trang.
- Dùng Công cụ dành cho Nhà phát triển (Developer Tools): Nhấn F12 trên Chrome hoặc Firefox để mở Developer Tools, sau đó chuyển sang tab “Network”. Thực hiện lại hành động gây lỗi và quan sát cột “Status”. Nếu bạn thấy mã “200 OK” hoặc một mã thành công khác (ví dụ: 302 cho chuyển hướng), điều đó có nghĩa là lỗi 405 đã được khắc phục.
- Xóa Cache toàn bộ: Nếu bạn đang sử dụng plugin caching, dịch vụ CDN (như Cloudflare), hoặc cache phía máy chủ, hãy xóa toàn bộ cache để đảm bảo các thay đổi của bạn được áp dụng và phân phối đến tất cả người dùng.
Common Issues/Troubleshooting
Ngay cả khi bạn đã tuân theo quy trình chuẩn, một số yếu tố ngoại lệ vẫn có thể gây ra lỗi 405. Dưới đây là hai vấn đề thường gặp và cách xử lý chúng.
Lỗi do xung đột plugin hoặc script trên website
Đây là một trong những nguyên nhân phổ biến nhất, đặc biệt trên các nền tảng CMS như WordPress. Một plugin bảo mật có thể quá “nhiệt tình”, chặn các yêu cầu POST hợp lệ từ một plugin khác. Hoặc một đoạn mã tùy chỉnh bạn thêm vào website có thể không tương thích với cấu hình máy chủ.
Cách nhận diện và xử lý:
Cách hiệu quả nhất để xác định xung đột là phương pháp “loại trừ”.
- Vô hiệu hóa toàn bộ plugin: Nếu bạn đang dùng WordPress, hãy đi tới trang Plugins và tắt tất cả.
- Kiểm tra lại: Thực hiện lại hành động gây lỗi 405. Nếu lỗi không còn, bạn đã xác nhận nguyên nhân đến từ một plugin.
- Kích hoạt lại từng plugin: Bật lại từng plugin một, và sau mỗi lần bật, hãy kiểm tra lại website. Khi lỗi 405 xuất hiện trở lại, bạn đã tìm ra “thủ phạm”.
- Tìm giải pháp: Khi đã xác định được plugin gây lỗi, bạn có thể tìm kiếm giải pháp trong phần cài đặt của plugin đó, liên hệ với nhà phát triển plugin để được hỗ trợ, hoặc tìm một plugin thay thế có chức năng tương tự.

Lỗi do cache hoặc proxy server
Đôi khi, bạn đã sửa lỗi thành công nhưng vẫn thấy thông báo 405. Nguyên nhân có thể là do bộ nhớ đệm (cache). Trình duyệt, các máy chủ proxy, hoặc các dịch vụ CDN như Cloudflare có thể lưu lại phiên bản cũ của trang bị lỗi và hiển thị nó cho bạn thay vì tải phiên bản mới đã được sửa.
Cách khắc phục:
- Xóa cache trình duyệt: Thực hiện xóa cache và cookie trên trình duyệt của bạn hoặc dùng tổ hợp phím
Ctrl + F5(hoặcCmd + Shift + Rtrên Mac) để buộc trình duyệt tải lại toàn bộ tài nguyên của trang. - Xóa cache website/server: Nếu bạn đang dùng plugin caching (ví dụ: WP Rocket, Litespeed Cache), hãy vào phần cài đặt của plugin và chọn “Purge All Caches”.
- Xóa cache CDN: Nếu bạn sử dụng dịch vụ CDN như Cloudflare, hãy đăng nhập vào bảng điều khiển của họ và xóa bộ nhớ đệm cho website của bạn.
Bằng cách xóa sạch cache ở mọi cấp, bạn đảm bảo rằng yêu cầu tiếp theo của mình sẽ được gửi trực tiếp đến máy chủ, phản ánh chính xác trạng thái hiện tại sau khi bạn đã áp dụng các bản sửa lỗi.

Best Practices
Phòng bệnh hơn chữa bệnh. Để giảm thiểu nguy cơ gặp phải lỗi 405 và các sự cố tương tự trong tương lai, hãy áp dụng những thực hành tốt nhất sau đây trong quá trình quản lý hosting và website của bạn.
- Luôn backup file .htaccess trước khi chỉnh sửa: Đây là nguyên tắc không thể bỏ qua. Một sai lầm nhỏ trong file này có thể khiến toàn bộ website của bạn không thể truy cập. Hãy tạo một bản sao lưu trước mỗi lần thay đổi.
- Đảm bảo máy chủ được cập nhật và cấu hình chính xác: Nếu bạn quản lý VPS hoặc máy chủ riêng, hãy đảm bảo các phần mềm (Apache, PHP, v.v.) luôn được cập nhật phiên bản mới nhất để vá các lỗ hổng bảo mật và cải thiện hiệu suất.
- Kiểm tra kỹ các plugin, script trước khi triển khai: Trước khi cài đặt một plugin hoặc theme mới, hãy đọc các bài đánh giá, kiểm tra ngày cập nhật cuối cùng và xem nó có tương thích với phiên bản WordPress/CMS của bạn hay không.
- Giới hạn quyền truy cập HTTP Methods một cách hợp lý: Khi thiết lập các quy tắc bảo mật, hãy hiểu rõ từng phương thức HTTP và chức năng của chúng. Chỉ chặn những gì thực sự không cần thiết, tránh chặn các phương thức quan trọng như POST hoặc PUT nếu website của bạn cần đến chúng.
- Không chỉnh sửa file server nếu không chắc chắn: Nếu bạn không có kinh nghiệm về quản trị máy chủ, đừng tự ý thay đổi các file cấu hình toàn cục. Hãy liên hệ với đội ngũ hỗ trợ kỹ thuật chuyên nghiệp để tránh gây ra những lỗi hệ thống nghiêm trọng.
Conclusion
Lỗi 405 Method Not Allowed trên DirectAdmin, dù ban đầu có vẻ phức tạp, nhưng thực chất là một vấn đề hoàn toàn có thể giải quyết được nếu bạn tiếp cận một cách có hệ thống. Nguyên nhân cốt lõi thường nằm ở các quy tắc được định nghĩa sai trong file .htaccess hoặc do các giới hạn bảo mật từ cấu hình máy chủ. Bằng cách tuân thủ quy trình kiểm tra tuần tự—từ việc rà soát log, phân tích file .htaccess, kiểm tra xung đột plugin, cho đến liên hệ nhà cung cấp hosting—bạn có thể xác định chính xác và khắc phục triệt để sự cố.
Việc hiểu rõ cách hoạt động của file .htaccess và nhận thức được vai trò của cấu hình máy chủ là chìa khóa để quản lý hosting hiệu quả, đảm bảo website của bạn luôn hoạt động ổn định và an toàn. Hy vọng rằng với những hướng dẫn chi tiết trong bài viết này, bạn sẽ không còn cảm thấy bối rối khi đối mặt với lỗi 405. Hãy tiếp tục theo dõi các bài viết khác của AZWEB để cập nhật thêm nhiều kiến thức chuyên sâu về DirectAdmin và tối ưu hóa website của bạn.