Sorun: CRLF
olarak kodlanmış dosyalardan hizmet vermek istiyorumLF
Linux tabanlı bir simülatör tarafından oluşturulan (büyük) günlük dosyalarını ( ) sunmak üzere yapılandırılmış bir apache2 httpd linux tabanlı web sunucum var *.log
.
Bu günlük dosyaları, LF
Windows tarzı yerine Unix tarzı biter CRLF
. CRLF
ayrıca http
protokoldeki metin dosyaları için standart olduğu ortaya çıkıyor .
Onları Windows'ta bir tarayıcı kullanarak görüntülediğimde Notepad.exe'ye yüklenir ve tüm metinler aynı satırda (yanlış) olur; Ben gelen sunucuda günlükleri adlandırmak sürece
*.log
kadar *.txt
.
Görünen o ki, Microsoft Windows muhtemelen *.txt
özel olarak çalışıyor ve geldikleri gibi sonları dönüştürüyor gibi görünüyor .
Bu ipuçları göz önüne alındığında, kurulumu nasıl değiştirebilirim ki müşteri kullanıcılarının platform / tarayıcıdan bağımsız olarak dosyaları doğru görebilsinler.
Daha fazla sorun detayı: neden bariz şeyi yapamıyorum
Günlükleri analiz, bunu bulmak .txt
mim-türü olarak servis edilir text/plain
ve .log
sıra text/x-log
fakat anahtarlama .log
için text/plain
kullanarak SetType
sorunu çözmek vermedi.
Bir üretim sisteminde kolayca sona erecek dosyaları değiştiremeyeceğim .txt
.
Günlükleri kullanarak (örneğin unix2dos
) dönüştürmek ve başka bir kopya kaydetmek istemek benim için çok büyük ve büyük . Ayrıca bu, geçersiz kılınması, silinmesi, vb. Yapılması gereken, dönüştürülen dosyaların ek önbelleğini yönetmeye zorlar veya bunları tüketen diğer sistemleri bozabilecek orijinal dosyaları değiştirir.
- O genişletmek gerektiğini Windows'u / Internet Explorer (ve diğer işletim / tarayıcı) söyleyen bir Apache yapılandırma parametresi var mıdır
LF
içinCRLF
ulaştığı anda? - YA ben bir şekilde yerine Apache söyleyebilir
LF
ileCRLF
bunu hizmet vermektedir olarak anında?
Ne denedim
Birlikte verilen Apache mod_mime
modülüne ve direktiflerine baktım AddType
ve AddCharset
bunlar sorunu çözmedi, hatta iddia etmediler.
Apache belgeleri satır sonuyla ilgili sessiz.
Türdeki MIME belgeleri text
, içeriğin CRLF biçiminde olması gerektiğini belirtir .
Ayrıca satır sonunun karakter kümesi kodlama standartları tarafından dikkate alınmadığı da anlaşılmaktadır.
text/plain
CRLF sonları ile sunulması ilginç olsa da , Apache'nin bunları dönüştürmede yer alması gereken bir şey değil; Sunmak için verilenlere hizmet etmeyi ve dosyaları üreten her ne olursa olsun RFC'ye uyum sağlamayı tercih ederim. Daha iyi bir editör edinin; Tavsiye yığınına Scite atacağım .