Cách ngăn WordPress ghi đè tệp .htaccess

Tác giả sysadmin, T.Hai 23, 2023, 05:11:35 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách ngăn WordPress ghi đè tệp .htaccess


Gần đây, một trong những độc giả của chúng tôi đã hỏi liệu có thể ngăn WordPress ghi đè mã tùy chỉnh trong tệp .htaccess của bạn không?

WordPress cùng với một số plugin thêm cài đặt tùy chỉnh vào tệp cấu hình .htaccess. Nếu bạn đã thêm mã tùy chỉnh của riêng mình vào .htaccess, thì bạn có thể lo lắng rằng mã đó sẽ bị ghi đè hoặc xóa.

Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách ngăn WordPress ghi đè lên tệp .htaccess.

1. Tại sao WordPress ghi đè tệp .htaccess?

Tệp .htaccess của bạn là tệp cấu hình mạnh lưu trữ các cài đặt quan trọng về trang web WordPress của bạn. Nó chứa các quy tắc cho máy chủ lưu trữ của bạn biết cách xử lý trang web của bạn.

WordPress sử dụng tệp .htaccess để lưu trữ cài đặt permalink của nó. Bất cứ khi nào bạn thay đổi hoặc tạo lại permalinks của mình, WordPress sẽ tự động ghi đè cài đặt cũ trong .htaccess bằng cài đặt mới.

Một số plugin WordPress cũng lưu cài đặt của chúng trong .htaccess. Ví dụ: plugin W3 Total Cache  sẽ sửa đổi tệp .htaccess của bạn để định cấu hình các công cụ tối ưu hóa và bộ nhớ đệm là một phần của plugin.

Cuối cùng, bạn có thể thực hiện các thay đổi tùy chỉnh của riêng mình đối với.htacess để kiểm soát cách trang web của bạn hoạt động. Ví dụ: bạn có thể thêm các quy tắc tùy chỉnh vào tệp để bảo vệ khu vực quản trị của mình, giữ cho trang web của bạn an toàn khỏi tin tặc, thiết lập chuyển hướng, cấm các địa chỉ IP đáng ngờ, v.v.

Một số người dùng lo ngại rằng nếu họ thêm các quy tắc tùy chỉnh của riêng mình vào .htaccess thì chúng có thể bị xóa khi WordPress ghi đè tệp bằng cài đặt mới. Những người dùng khác thích định cấu hình .htaccess theo cách thủ công và hoàn toàn không để WordPress ghi vào đó.

Như đã nói, chúng ta hãy xem cách ngăn WordPress ghi đè lên tệp .htaccess của bạn. Chỉ cần sử dụng các liên kết nhanh bên dưới để chuyển đến phần bạn quan tâm.

2. Cách ngăn WordPress ghi đè quy tắc .htaccess của bạn

Tin vui là nếu bạn hiểu cách hoạt động của tệp .htaccess thì bạn có thể yên tâm rằng các quy tắc tùy chỉnh của mình sẽ không bị ghi đè.

Đó là bởi vì các khu vực của tệp sẽ được thay đổi bởi WordPress hoặc plugin của bạn được đánh dấu rõ ràng. Chỉ cần đảm bảo rằng bạn không thêm mã vào những khu vực đó.

2.1. Không sửa đổi mã bên trong các điểm đánh dấu WordPress

Như chúng tôi đã nói trước đó, WordPress sử dụng .htaccess để lưu trữ cài đặt cho  cấu trúc URL thân thiện với SEO . Mã mà nó lưu vào tệp sẽ tự động được ghi đè và cập nhật bất cứ khi nào bạn thay đổi cài đặt liên kết cố định của mình.

Như bạn có thể thấy trong ảnh chụp màn hình bên dưới, WordPress lưu thông tin này giữa hai điểm đánh dấu # BEGIN WordPressvà # END WordPress.


Lưu ý cảnh báo bên trong các điểm đánh dấu đó:

Các lệnh (dòng) giữa "BEGIN WordPress" và "END WordPress" được tạo động và chỉ nên được sửa đổi thông qua bộ lọc WordPress. Mọi thay đổi đối với chỉ thị giữa các điểm đánh dấu này sẽ bị ghi đè.

Điều này có nghĩa là WordPress sẽ không ghi đè hoặc sửa đổi bất kỳ mã nào mà bạn thêm bên ngoài các điểm đánh dấu này. Người dùng thường thêm mã tùy chỉnh của họ vào đầu tệp, phía trên điểm # BEGIN WordPressđánh dấu.

Mẹo: .htaccess là một tệp ẩn nằm trong thư mục gốc của trang web WordPress của bạn. Nếu bạn gặp khó khăn khi tìm nó, hãy xem hướng dẫn của chúng tôi về lý do tại sao bạn không thể tìm thấy tệp .htaccess trên trang web WordPress của mình.

2.2. Không sửa đổi mã bên trong điểm đánh dấu của plugin của bạn

Khi một plugin lưu cài đặt của nó vào .htaccess, nó cũng đặt nó giữa các điểm đánh dấu giống như # BEGIN Pluginvà # END Plugin.

Ví dụ: nếu bạn cài đặt và thiết lập plugin W3 Total Cache để cải thiện tốc độ và hiệu suất trang web của mình, plugin này sẽ thêm các quy tắc vào giữa .htaccess # BEGIN W3TC Browser Cachevà # END W3TC Browser Cachecác điểm đánh dấu.


Các quy tắc này sẽ bị ghi đè bất cứ khi nào bạn thay đổi cài đặt của plugin, vì vậy bạn cần cẩn thận để không thêm các quy tắc .htaccess tùy chỉnh của riêng mình vào giữa các điểm đánh dấu đó.

2.3. Tạo điểm đánh dấu cho mã tùy chỉnh của bạn

Trong một số ít trường hợp, plugin hoạt động kém có thể sửa đổi mã bên ngoài mã # BEGINvà # ENDđiểm đánh dấu của nó. Tuy nhiên, thông thường nó sẽ không sửa đổi mã được tìm thấy giữa các điểm đánh dấu được sử dụng bởi WordPress hoặc các plugin khác.

Nếu bạn lo lắng về việc plugin hoạt động không tốt sẽ ghi đè lên mã của bạn, thì bạn có thể thêm điểm đánh dấu của riêng mình vào tệp .htaccess.

Ví dụ: bạn có thể nhập # BEGIN MyCustomCodevà # END MyCustomCodeđánh dấu ở đầu tệp .htaccess, sau đó thêm các quy tắc tùy chỉnh của riêng bạn giữa các điểm đánh dấu đó.


Nếu bạn cũng cần thêm mã vào cuối .htaccess, thì bạn có thể thêm một bộ điểm đánh dấu khác vào đó. Chỉ cần chắc chắn để cung cấp cho họ tên khác nhau. Ví dụ: bạn có thể sử dụng 'MyCustomCodeTop' và 'MyCustomCodeBottom'.

3. Cách ngăn WordPress sửa đổi .htaccess

Bây giờ bạn đã hiểu cách thức hoạt động của .htaccess, bạn có thể yên tâm rằng mã tùy chỉnh của mình sẽ không bị WordPress hoặc plugin của bạn ghi đè.

Tuy nhiên, một số nhà phát triển và người dùng nâng cao muốn ngăn WordPress thực hiện bất kỳ thay đổi nào đối với .htaccess.

Ví dụ: họ có thể muốn tạo permalinks bằng cách nhập cài đặt theo cách thủ công vào .htaccess. Trong trường hợp này, họ sẽ muốn tránh xung đột bằng cách ngăn WordPress lưu cài đặt permalink của chính nó vào tệp.

Chúng tôi không khuyến nghị điều này trừ khi bạn biết mình đang làm gì, vì nó có thể dẫn đến những hậu quả không mong muốn. Tuy nhiên, có thể thực hiện bằng cách thay đổi quyền của tệp hoặc sử dụng mã.

3.1. Ngăn WordPress thay đổi .htaccess bằng cách sử dụng quyền của tệp

Một cách để ngăn WordPress sửa đổi .htaccess là đặt tệp ở chế độ chỉ đọc. Để thực hiện việc này, bạn cần thay đổi quyền đối với tệp bằng ứng dụng khách FTP hoặc trình quản lý tệp do nhà cung cấp dịch vụ lưu trữ WordPress của bạn cung cấp.

Bạn sẽ tìm thấy tệp .htaccess trong thư mục gốc của bản cài đặt WordPress. Tiếp theo, bạn nên nhấp chuột phải vào tệp và chọn 'Quyền tệp'.


Thao tác này sẽ hiển thị cửa sổ bật lên nơi bạn có thể thay đổi các thuộc tính của tệp.

Cài đặt mặc định sẽ là 644, nhưng bạn có thể thay đổi cài đặt này thành 444 bằng cách nhập trực tiếp vào trường 'Giá trị số' hoặc đảm bảo rằng chỉ các hộp 'Đọc' được chọn.


Sau khi bạn nhấp vào nút 'OK', tệp sẽ ở chế độ chỉ đọc và không thể sửa đổi.

Tất nhiên, điều này có nghĩa là bạn cũng không thể ghi vào tệp. Khi bạn muốn thực hiện các thay đổi, bạn sẽ cần tạm thời đặt lại quyền đối với tệp về 644.

3.2. Ngăn WordPress thay đổi .htaccess bằng mã

Một giải pháp khác là sử dụng đoạn mã cho phép WordPress biết không ghi vào tệp .htaccess. Điều này hữu ích nếu bạn muốn ngăn WordPress sửa đổi .htaccess mà không chặn plugin của bạn.

Lưu ý: Việc chỉnh sửa bất kỳ tệp WordPress cốt lõi nào có thể nguy hiểm. Ngay cả một lỗi nhỏ cũng có thể gây ra lỗi lớn trên trang web của bạn. Đó là lý do tại sao chúng tôi chỉ đề xuất phương pháp này cho người dùng nâng cao.

Chỉ cần thêm đoạn mã sau vào cuối tệp wp-config.php của bạn. Nếu bạn cần trợ giúp, vui lòng tham khảo hướng dẫn của chúng tôi về cách chỉnh sửa tệp wp-config.php trong WordPress.

Mã nguồn [Chọn]
add_filter('got_rewrite', '__return_false');
Khi bạn đã hoàn thành việc đó, WordPress sẽ không ghi vào tệp .htaccess nữa.

3.3. Thông báo lỗi được hiển thị khi WordPress không thể thay đổi .htaccess

Nếu bạn cố gắng thay đổi cài đặt permalink của mình khi .htaccess được đặt ở chế độ chỉ đọc, thông báo lỗi sẽ hiển thị.

Ở đầu trang Cài đặt » Permalinks, bạn sẽ thấy thông báo 'Bạn nên cập nhật tệp .htaccess của mình ngay bây giờ.'


Điều này cho bạn biết rằng WordPress không thể sửa đổi tệp .htaccess.

Thông thường, đây là những gì bạn dự định. Tuy nhiên, nếu bạn muốn thêm cài đặt permalink WordPress vào .htaccess, thì bạn sẽ cần thực hiện thủ công.

Ở cuối trang Cài đặt ≫ Permalinks, bạn sẽ thấy một thông báo lỗi khác nói rằng tệp .htaccess của bạn không thể ghi được. Bên dưới đó, bạn sẽ thấy các quy tắc cần được thêm vào .htaccess.


Nếu bạn muốn thêm các cài đặt đó, thì bạn cần tạm thời thay đổi quyền của tệp .htaccess thành 644 để có thể chỉnh sửa nó. Sau đó, bạn nên dán các quy tắc giữa các điểm đánh dấu BEGIN và END của tệp WordPress, thay thế mã đã có ở đó.

Khi bạn hoàn tất, chỉ cần đặt lại giá trị thành 444 và lưu tệp. Nó sẽ một lần nữa không thể viết được.

Chúng tôi hy vọng hướng dẫn này đã giúp bạn tìm hiểu cách ngăn WordPress ghi đè lên tệp .htaccess. Bạn cũng có thể muốn tìm hiểu cách thêm thông báo đẩy trong WordPress và xem danh sách chuyên gia của chúng tôi về các công cụ và plugin SEO WordPress tốt nhất.