วันเสาร์, 21 กุมภาพันธ์, 2009 | ผู้เขียน:

ประเภทเอกสารที่ค่อนข้างใหม่ สำนักงาน 2007 ได้ให้บางปัญหาเว็บโฮสต์เมื่อลูกค้าของพวกเขาต้องการที่จะนำเสนอเอกสารสำหรับการดาวน์โหลด. ส่วนใหญ่มักจะ, เอกสารที่ถูกนำเสนอโดยเว็บเซิร์ฟเวอร์เป็น “text / html” ซึ่งมีการแสดงแล้วเป็นตันของขยะบนหน้าจอผู้ใช้เว็บของ.

วิธีที่ดีที่สุดที่จะแก้ปัญหานี้คือการเพิ่ม ไมม์ ประเภทการตั้งค่าหลักของเซิร์ฟเวอร์. IIS7 สำหรับ Windows แล้วมีชนิดไมม์เหล่านี้ตั้งขึ้นอย่างถูกต้องตามค่าเริ่มต้น. IIS6 และ IIS5 ต้องการชนิดไมม์ที่จะเพิ่ม, เป็นอำนาจของ อาปาเช่ ในการติดตั้งมากกว่า. สำหรับอาปาเช่, นอกจากนี้ยังมีวิธีแก้ปัญหาสำหรับเจ้าของโดเมนที่บุคคลที่จะเพิ่มประเภทละครใบ้ผ่านของ Apache .htaccess ไฟล์.

IIS 6 ชนิดไมม์นอกจากนี้ (ให้ผู้ดูแลระบบเซิร์ฟเวอร์)

ก่อนหน้านี้สามารถทำได้, ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ของคุณมีการตั้งค่ายังอนุญาตให้แก้ไข metabase โดยตรง:

  1. ภาระ โปรแกรมจัดการ: เริ่ม -> Rองค์การสหประชาชาติ, “IIS เมื่อ” -> [ตกลง]
  2. คลิกขวา “เซิร์ฟเวอร์” และคลิกที่ “Properties”
  3. ภายใน “บริการข้อมูลทางอินเทอร์เน็ต” แถบ (มักจะมีเพียงแท็บ), ให้แน่ใจว่า “Enสามารถแก้ไข Metabase โดยตรง” มีการตรวจสอบช่องทำเครื่องหมาย.
  4. คลิก [ตกลง]

ให้แน่ใจว่าได้ สำรองการกำหนดค่า IIS ของ (ที่นี่ เพื่อ IIS5) ล่วงหน้า. ฉันจะไม่รับผิดชอบในการดูแลระบบเซิร์ฟเวอร์ของเขาทำลายใด ๆ. ฉันมีเหตุผลที่จะเชื่อว่า อาจ นอกจากนี้ยังทำงานใน IIS5 แต่ฉันมีเหตุผลเพียงเท่าที่จะเชื่อว่ามันก็อาจทำให้จำนวนมากของข้อผิดพลาด. หาก IIS5 / หน้าต่าง 2000 ผู้ดูแลระบบยินดีที่จะทดสอบนี้สำหรับฉัน หลังจากการสำรองข้อมูล กำหนดค่าของคุณโปรดแจ้งให้เราทราบผล.

คัดลอกข้อความต่อไปนี้ลงไฟล์ชื่อ msoff07 addmime.vbs และรันมัน ครั้งหนึ่ง จาก commandline โดยการพิมพ์ cscript msoff07 addmime.vbs- และกด Enter. หากคุณใช้มันมากกว่าหนึ่งครั้ง, ชนิดไมม์จะถูกเพิ่มในแต่ละครั้งและคุณจะมีรายการที่เหมือนกันหลาย ๆ:

'สคริปต์นี้จะเพิ่มสำนักงานที่จำเป็น 2007 ชนิดไมม์ที่จะ IIS 6 เซิร์ฟเวอร์.
'เพื่อใช้สคริปต์นี้, เพียงแค่ดับเบิลคลิกหรือรันจากบรรทัดคำสั่ง.
'ใช้สคริปต์นี้หลายครั้งส่งผลให้รายการหลายรายการใน
'IIS MimeMap ดังนั้นคุณจึงไม่ควรใช้มันมากกว่าหนึ่งครั้ง.
'แก้ไขจาก http://msdn.microsoft.com/en-us/library/ms752346.aspx
 
ไม่ MimeMapObj, MimeMapArray, MimeTypesToAddArray, WshShell, oExec
const ADS_PROPERTY_UPDATE = 2 
 
'ตั้งชนิดไมม์ที่จะเพิ่ม
MimeTypesToAddArray = แถว("docm.", "application/vnd.ms-word.document.macroEnabled.12", _
". Docx", "application / vnd.openxmlformats-officedocument.wordpro​​cessingml.document", _
"dotm.", "application/vnd.ms-word.template.macroEnabled.12", _
"dotx.", "application / vnd.openxmlformats-officedocument.wordpro​​cessingml.template", _
"potm.", "application/vnd.ms-powerpoint.template.macroEnabled.12", _
"potx.", "application / vnd.openxmlformats-officedocument.presentationml.template", _
"ppam.", "application/vnd.ms-powerpoint.addin.macroEnabled.12", _
". ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12", _
". ppsx", "application / vnd.openxmlformats-officedocument.presentationml.slideshow", _
"pptm.", "application/vnd.ms-powerpoint.presentation.macroEnabled.12", _
". pptx", "application / vnd.openxmlformats-officedocument.presentationml.presentation", _
"sldm.", "application/vnd.ms-powerpoint.slide.macroEnabled.12", _
"sldx.", "application / vnd.openxmlformats-officedocument.presentationml.slide", _
". xlam", "application/vnd.ms-excel.addin.macroEnabled.12", _
"xlsb.", "application/vnd.ms-excel.sheet.binary.macroEnabled.12", _
"xlsm.", "application/vnd.ms-excel.sheet.macroEnabled.12", _
". Xlsx", "application / vnd.openxmlformats-officedocument.spreadsheetml.sheet", _
"xltm.", "application/vnd.ms-excel.template.macroEnabled.12", _
"xltx.", "application / vnd.openxmlformats-officedocument.spreadsheetml.template") 
 
'รับวัตถุ mimemap
ชุด MimeMapObj = GetObject("เรื่องที่://localhost / MimeMap")
 
'โทร AddMimeType คู่ประเภทนามสกุล / MIME ทุก
เพื่อ เคาน์เตอร์ = 0 ไปยัง UBound(MimeTypesToAddArray) ขั้นตอน 2
    AddMimeType MimeTypesToAddArray(เคาน์เตอร์), MimeTypesToAddArray(เคาน์เตอร์+1)
ต่อไป
 
'สร้างวัตถุเชลล์
ชุด WshShell = CreateObject("WScript.Shell")
 
'หยุดและเริ่มบริการการจัดการ
ชุด oExec = WshShell.Exec("w3svc หยุดสุทธิ")
ของ ในขณะที่ oExec.สถานะ = 0
    WScript.การนอนหลับ 100
ห่วง
 
ชุด oExec = WshShell.Exec("w3svc เริ่มต้นสุทธิ")
ของ ในขณะที่ oExec.สถานะ = 0
    WScript.การนอนหลับ 100
ห่วง
 
ชุด oExec = ไม่มีอะไร
 
'สถานะรายงานให้กับผู้ใช้
WScript.เสียงก้อง "Microsoft Office 2007 ประเภทเอกสารไมม์ได้รับการจดทะเบียน"
 
'AddMimeType ย่อย
ย่อย AddMimeType (ext, mtype)
 
    'รับการแมปจากสถานที่ให้บริการ MimeMap.
    MimeMapArray = MimeMapObj.Getex("MimeMap") 
 
    'เพิ่มแผนที่ใหม่.
    ฉัน = UBound(MimeMapArray) + 1
    ReDim รักษา MimeMapArray(ฉัน)
    ชุด MimeMapArray(ฉัน) = CreateObject("MimeMap")
    MimeMapArray(ฉัน).ส่วนต่อขยาย = ext
    MimeMapArray(ฉัน).ประเภท Mime = mtype
    MimeMapObj.PutEx ADS_PROPERTY_UPDATE, "MimeMap", MimeMapArray
    MimeMapObj.SetInfo
 
ปลาย ย่อย

ประเภทนอกจากนี้ Apache ไมม์ (ให้ผู้ดูแลระบบเซิร์ฟเวอร์)

Apache เก็บชนิดไมม์ในแฟ้มที่ตั้งอยู่ตามปกติ $installpath conf / / mime.types. ดู mod_mime เอกสาร สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงาน. ลินุกซ์ Arch การติดตั้งชนิดไมม์ที่ /etc / httpd / conf / mime.types และ Parallels Plesk ติดตั้งไว้ใน /usr / local / PSA admin / conf / / mime.types. การกระจายของคุณอาจจะมีในสถานที่อื่น, เพื่อหาของคุณ mime.types โดยการเรียกใช้ไฟล์ ค้นหา mime.types.

เพิ่มบรรทัดต่อไปนี้ไปยังแฟ้ม mime.types ของคุณ:

application/vnd.ms-word.document.macroEnabled.12                          docm
application/vnd.openxmlformats-officedocument.wordprocessingml.document   docx
application/vnd.ms-word.template.macroEnabled.12                          dotm
application/vnd.openxmlformats-officedocument.wordprocessingml.template   dotx
application/vnd.ms-powerpoint.template.macroEnabled.12                    potm
application/vnd.openxmlformats-officedocument.presentationml.template     potx
application/vnd.ms-powerpoint.addin.macroEnabled.12                       ppam
application/vnd.ms-powerpoint.slideshow.macroEnabled.12                   ppsm
application/vnd.openxmlformats-officedocument.presentationml.slideshow    ppsx
application/vnd.ms-powerpoint.presentation.macroEnabled.12                pptm
application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
application/vnd.ms-powerpoint.slide.macroEnabled.12                       sldm
application/vnd.openxmlformats-officedocument.presentationml.slide        sldx
application/vnd.ms-excel.addin.macroEnabled.12                            xlam
application/vnd.ms-excel.sheet.binary.macroEnabled.12                     xlsb
application/vnd.ms-excel.sheet.macroEnabled.12                            xlsm
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet         xlsx
application/vnd.ms-excel.template.macroEnabled.12                         xltm
application/vnd.openxmlformats-officedocument.spreadsheetml.template      xltx

ประเภทนอกจากนี้ Apache ไมม์ (สำหรับเจ้าของโดเมนที่มีอย่างน้อย FTP การเข้าถึง – โดยใช้ไฟล์ htaccess.)

เพิ่มข้อความต่อไปนี้ไปยังโดเมนของคุณ .htaccess ไฟล์, มากที่สุดใน httpdocs / ไดเรกทอรี

AddType application/vnd.ms-word.document.macroEnabled.12 docm
AddType application / vnd.openxmlformats-officedocument.wordpro​​cessingml.document docx
AddType application/vnd.ms-word.template.macroEnabled.12 dotm
AddType application / vnd.openxmlformats-officedocument.wordpro​​cessingml.template dotx
AddType potm application/vnd.ms-powerpoint.template.macroEnabled.12
AddType application / vnd.openxmlformats-officedocument.presentationml.template potx
AddType application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam
AddType application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm
AddType application / vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
AddType application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm
AddType application / vnd.openxmlformats-officedocument.presentationml.presentation pptx
AddType application/vnd.ms-powerpoint.slide.macroEnabled.12 sldm
AddType application / vnd.openxmlformats-officedocument.presentationml.slide sldx
AddType application/vnd.ms-excel.addin.macroEnabled.12 xlam
AddType application/vnd.ms-excel.sheet.binary.macroEnabled.12 xlsb
AddType application/vnd.ms-excel.sheet.macroEnabled.12 xlsm
AddType application / vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
AddType application/vnd.ms-excel.template.macroEnabled.12 xltm
AddType application / vnd.openxmlformats-officedocument.spreadsheetml.template xltx
หุ้น
คุณสามารถปฏิบัติตามคำตอบใด ๆ ที่รายการนี​​้ผ่าน RSS 2.0 อาหาร. คุณสามารถ ออกจากการตอบสนอง, หรือ การติดตาม จากเว็บไซต์ของคุณเอง.

9 การตอบสนอง

  1. 1
    Steve 

    I think there is a typo in the vb script for IIS; the .xlt extension should be .xltm. ด้วย, two more extensions should be added:
    “.sldx”, “application/vnd.openxmlformats-officedocument.presentationml.slide”, _
    “.sldm”, “application/vnd.ms-powerpoint.slide.macroEnabled.12”, _

  2. Very interesting, Steve.

    The .xlt isn’t a typo, apparently .xltm is supposed to be the macro-enabled version of .xlt. I’ll do some research and adjust appropriately.

    Thanks!

  3. Ah, you’re actually correct, Steve. .xltm/x is new but .xlt is the “เก่า” Office Excel spreadsheet template.

  4. Hi ! It worked for me. Even without changing the direct metabase edit option.

    Cheers!
    Maciej

  5. 5
    Mário Araújo 

    Thanks! 🙂

  6. 6
    R Sleegers 

    Very nicesaved me the trouble of typing them in. “Note that you must restart the World Wide Web Publishing Service or wait for the worker process to recycle for the changes to take effect.” ( http://support.microsoft.com/kb/326965 )

  7. I’m not sure a recycle is necessary if you’veensure[d] that your server is also set to allow direct metabase editing”, per the article.

  1. […] Source: http://dogma.swiftspirit.co.za/archives/183 […]

  2. 9
    Adding MIME types to IIS 6 - CryptedNets (ผ่าน Pingback)

    […] The original article where the script was found is here. […]

ปล่อยให้ตอบกลับ » เข้าสู่ระบบ