Chữ hoa chữ thường trong tên file và folder

Có thể bạn không biết, nhưng các máy tính Windows và Linux có một điểm khác nhau về phân biệt chữ hoa chữ thường. Ví dụ, với máy tính Windows, việc bạn gọi đến file.txt cũng giống như FILE.txt. Nhưng trên máy tính Linux, nếu tên file đã được đặt là file.txt, mà câu lệnh gọi đến FILE.txt thì sẽ bị báo lỗi 404 – Not found.

Quy định trên cũng áp dụng cho các máy chủ. Do vậy, bạn cần lưu ý, ví dụ trong các trường hợp sau:

  • đang định chuyển đổi máy chủ từ Windows với web server IIS, sang Linux với web server Apache.
  • hoặc bạn thuê một coder phát triển website cho bạn. Coder làm việc trên Windows, không để ý đến việc đặt tên theo quy định. Sau đó, website được đưa lên server Linux, và không hoạt động chính xác.

Trong trường hợp đó, bạn có thể kiểm tra Apache có được biên dịch với mod_speling hay không. Nếu có, bạn có thể thêm cấu hình để Apache khắc phục việc phân biệt chữ hoa chữ thường khi tìm tên file, folder.

Khắc phục phân biệt chữ hoa chữ thường trên máy chủ Linux với web server Apache và mod_speling.

Lưu ý: tốc độ xử lý

Mặc dù có thể dùng mod_speling để khắc phục việc phân biệt chữ hoa chữ thường, điều đó cũng sẽ làm tốc độ xử lý website của bạn chậm đi một chút, đặc biệt khi có rất nhiều người truy cập cùng lúc. Do vậy, chúng tôi khuyến nghị bạn lưu ý ngay từ khi thiết lập cấu hình website từ đầu.

Nếu bạn có quyền root, truy cập vào ssh máy chủ Linux, bạn có thể để xem các module đã được biên dịch với lệnh:

httpd -l

Coi nhanh về mod_speling, bạn có thể dùng lệnh:

httpd -l |grep mod_speling

Nếu bạn không có mod_speling, bạn có thể hỏi admin server cài đặt thêm mod_speling cho bạn. Nếu đã có sẵn, bạn có thể thêm vào file .htaccess ở account cần thiết với nội dung sau:

<IfModule mod_speling.c>
CheckSpelling on
</IfModule>

Sau khi thêm cấu hình trên, nếu mod_speling hoạt động đúng, bạn có thể gọi đến file với các tên viết chữ hoa chữ thường khác nhau và đều hoạt động được. Còn nếu vẫn không hoạt động, bạn nên liên hệ với admin server để kiểm tra xem lỗi ở đâu.