Khi mưa, nó đổ. Vài tuần trước, tôi viết bài về lỗi WordPress cURL error 28 tôi phát hiện trên trang web chỉ sách của mình, và dường như do có file htaccess trong thư mục wp-admin. Điều này không phải vấn đề cho đến bản cập nhật WordPress 5.4, nhưng bây giờ dường như nó là. Vâng, vì tôi biết nguồn gốc, tôi có thể bỏ qua nó.
Một tác dụng phụ của việc giữ htaccess là sẽ có lời nhắc xác thực trên MỖI trang trên trang web - loại prompt bạn chỉ mong đợi khi truy cập trang bị hạn chế - và hiện tượng này dường như giới hạn trong Firefox. Coi mình special snowflake (đặc biệt), tôi đi đọc và test, và tìm thấy chủ đề hỗ trợ trên trang WordPress, nơi ai đó thảo luận hiện tượng rất giống nếu không giống hệt. Vì vậy tôi quyết định điều tra thêm, và tìm ra cái gì.
Vấn đề chi tiết
Vâng, không có nhiều gì để nói. Người bình thường duyệt trang trong Firefox sẽ thấy cửa sổ nhắc xác thực không liên quan đến họ. Điều này phiền toái, gây mất tập trung - và không cần thiết. Vì vậy chúng ta cần cách sửa, mà không thực sự xóa file .htaccess. Luôn là một lựa chọn, nhưng trái ngược với toàn bộ mục đích của việc có nó.
Giải pháp (hay đúng hơn, workaround lại)
Witchcraft (phép thuật) không phải forte (điểm mạnh) của tôi. nhưng witchcraft là cần thiết ở đây. Tôi dành một lúc đọc, cố gắng tìm hiểu tại sao WordPress ném nhắc xác thực khi không cần. Một điều bắt mắt tôi, và đó là WordPress 5.4 read this first master list. Ở đó, tôi tìm bất cứ thứ gì liên quan đến file .htaccess, và tìm thấy đề cập sau:
Resave your Permalink settings (Lưu lại cài đặt Permalink). Trong vài trường hợp, chúng ta thấy trình cài đặt third-party, như Softaculous, tạo site với quy tắc hơi không đúng trong file .htaccess. Mặc dù các quy tắc này không phải vấn đề trong phiên bản trước, có quy tắc không đúng này có thể break (phá vỡ) REST API trong phiên bản mới. Lưu lại permalinks trên trang Settings | Permalinks trong WordPress sẽ sửa các quy tắc này trong .htaccess, và có thể sửa lỗi "failed" trong editor mới.
Nhấn mạnh vào editor mới - mà tôi không dùng thực sự. Điều này cũng có vẻ liên quan đến cURL error 28 chúng ta khám phá trước. Vì vậy tôi quyết định xem liệu điều này có khác biệt không. Tôi so sánh file .htaccess "cũ" và mới tạo, cụ thể phần auto-generated bởi WordPress. Có một vài thay đổi nhỏ.
Vâng, nó sửa vấn đề nhắc .htaccess - nhưng cURL error 28 vẫn ở đó miễn là file .htaccess được dùng. Tất cả điều này dẫn tôi tin rằng có thứ khá buggy trong WordPress 5.4, và lại, thứ gì đó dường như kích hoạt hành vi khác nhau trong Firefox.
Giải pháp thay thế: favicon
Một độc giả liên hệ tôi về bài trước. Qua một vài thư từ, tôi nhấn mạnh việc vấn đề chỉ xảy ra trong Firefox, điều này dẫn độc giả làm test thêm của riêng họ, và họ phát hiện vấn đề nhiều khả năng do thiếu site icon (favicon). Khi không có, một mặc định được tải, từ bên trong thư mục admin, sau đó kích hoạt nhắc xác thực trong Firefox. Bạn có thể thử và xem có hoạt động cho bạn không.

Kết luận
Tôi thực sự, sâu sắc không vui phải viết loại bài này, vì tôi chỉ giúp bạn một nửa. Tôi phơi bày vấn đề, lạ lẫm, và cung cấp workaround, nhưng tôi không cảm thấy an tâm, vì chúng ta vẫn đối phó với code buggy bên dưới. Cách nào đó miraculously (kỳ diệu) làm "lỗi xấu" biến đi không truyền cảm hứng tin cậy. Nó归结为 cách WordPress 5.4 hoạt động, và có thứ gì đó cơ bản khác biệt trong cách nó xử lý xác thực.
Thêm vào đó, tôi không có gì thông minh để nói tại sao điều này chỉ biểu hiện trong Firefox. Tôi sẽ tiếp tục chơi thêm, nhưng lúc này, tốt nhất tôi có thể cho bạn là workaround trên, cộng thông tin tôi chia sẻ trong bài trước. Bình an, các bạn. Và nếu bạn có suy nghĩ, hãy chia sẻ.
Chúc vui.