Điểm:1

('text/plain') không phải là loại MIME biểu định kiểu được hỗ trợ

lá cờ cn

Chúng tôi vừa nâng cấp từ Drupal 8 lên Drupal 9 và hiện tại chúng tôi có một số tệp css không hoạt động trong Chrome do lỗi bên dưới.

Từ chối áp dụng kiểu từ '' vì kiểu MIME của nó ('text/plain') không phải là loại MIME biểu định kiểu được hỗ trợ và nghiêm ngặt Kiểm tra MIME được kích hoạt.

Các tệp css này nằm trong thư mục tệp riêng của trang web. Tôi đã xác minh rằng mime_module đã được tải vì tôi có thể thấy điều này trong nhật ký apache

mô-đun mime_module đã được tải, bỏ qua

tôi cũng có .htaccess tập tin được kích hoạt bằng cách sử dụng AllowOverride All bên trong httpd.conf

Tôi đã thử đặt những thứ sau vào .htaccess tệp trong thư mục mẹ của tệp css, trong chúng tôi /etc/httpd/conf.d/drupal.conf, và trong /etc/httpd/conf/httpd.conf nhưng không có gì sửa lỗi

AddType văn bản/css .css
AddHandler văn bản/css .css

AddType 'văn bản/css; bộ ký tự = UTF-8' css

<FilesMatch "(\.css)$">
    AddType text/css .css
    Header set Content-Type text/css
</FilesMatch>

Tại sao apache không đặt chính xác kiểu nội dung?

lá cờ cn
Bạn đã truy cập trực tiếp vào một trong các đường dẫn CSS chưa? Theo kinh nghiệm của tôi, lỗi trình duyệt thường xảy ra khi Drupal trả về HTML 403/404/500 cho đường dẫn.
lá cờ cn
Có, khi tôi truy cập trực tiếp, nó sẽ tải css trong trình duyệt của tôi, nhưng dưới dạng `text/plain`. Chúng tôi thực sự có môi trường prod vẫn đang chạy Drupal 8 và css đang tải tốt ở đó. Điều này bắt đầu xảy ra trong Drupal 9
lá cờ cn
Xin lỗi bỏ qua cho tôi, tôi đọc nhầm `plain` thành `html`
4uk4 avatar
lá cờ cn
Nếu các tệp CSS thực sự nằm trong thư mục tệp riêng tư thì đây không phải là sự cố của Apache. Drupal kiểm soát quyền truy cập và phục vụ các tệp thông qua PHP.
lá cờ cn
Cảm ơn bạn, tôi nghĩ rằng https://drupal.stackexchange.com/a/56967/102670 này có thể là câu trả lời
4uk4 avatar
lá cờ cn
Không biết. Thông thường các tệp trong thư mục riêng được quản lý và loại MIME nằm trong cơ sở dữ liệu.Nếu không, bạn có thể sử dụng hook_file_download để tự quản lý. Bạn không cần câu trả lời được liên kết cho loại MIME tiêu chuẩn đã được xác định trong Drupal.
Điểm:2
lá cờ cn

Nếu các tệp CSS nằm trong thư mục tệp riêng tư thì đây không phải là sự cố của Apache. Drupal kiểm soát quyền truy cập và phục vụ các tệp thông qua PHP. Thông thường, các tệp được lưu trữ trong thư mục riêng được quản lý và loại MIME được chỉ định trong bảng cơ sở dữ liệu file_managed. Nếu không, bạn có thể sử dụng hook_file_download để quản lý chúng một mình:

sử dụng Drupal\Core\StreamWrapper\StreamWrapperManager;

/**
 * Triển khai hook_file_download().
 */
hàm mymodule_file_download($uri) {
  $scheme = StreamWrapperManager::getScheme($uri);
  $ target = StreamWrapperManager::getTarget($uri);
  if ($scheme == 'riêng tư' && substr($target, -4) == '.css') {
    trở lại [
      'Kiểu nội dung' => 'văn bản/css',
    ];
  }
}

Điều này cho phép mọi người truy cập các tệp CSS trong thư mục riêng và cũng đặt loại MIME.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.