Lørdag, Februar 21, 2009 | Author:

De relativt nye dokumenttyper Kontor 2007 har givet Nogle værter problemer, når deres kunder ønsker at tilbyde dokumenter til download. Oftest, dokumenterne bliver tilbudt af webserveren som “text / html” som derefter gengives som et ton af skrald på nettet brugerens skærm.

Den bedste måde at løse dette er at tilføje alle de MIME typer til serveren vigtigste konfiguration. IIS7 til Windows har allerede disse MIME-typer konfigureret rigtigt som standard. IIS6 og IIS5 kræver de MIME-typer, der skal tilføjes, Som det kunne Apache på ældre anlæg. For Apache, er der også en løsning for den enkelte domæne ejeren til at tilføje MIME-typer via Apaches .htaccess fil.

IIS 6 MIME-type tilføjelse (for serveradministratoren)

Før dette kan gøres, sikre, at din server også er indstillet til at tillade direkte metabasen redigering:

  1. Load IIS Manager: Start -> Run, “inetmgr” -> [OK]
  2. Højreklik på “server” og klik “Prdriftsaktiver”
  3. Inden for “Internet Information Services” fane (normalt kun fanen), sikre, at “Ognstand Direct metabase Edit” afkrydsningsfeltet er markeret.
  4. Klik [OK]

Vær sikker på at back up IIS konfiguration (her for IIS5) forhånd. Jeg vil ikke tage noget ansvar for en admin bryde sin server. Jeg har grund til at tro dette kan også arbejde på IIS5 men jeg har lige så meget grund til at tro, at det bare kan give masser af fejl. Hvis et IIS5 / Windows 2000 admin er villig til at teste dette for mig efter sikkerhedskopiering konfigurationen, så lad mig vide om resultaterne.

Kopier følgende tekst i en fil med navnet msoff07-addmime.vbs og udføre den gang fra kommandolinjen ved at skrive cscript msoff07-addmime.vbs og trykke på Enter. Hvis du kører det mere end én gang, de MIME-typer vil blive tilføjet hver gang, og du vil få flere identiske poster:

»Dette script tilføjer den nødvendige Office 2007 MIME-typer til en IIS 6 Server.
"For at bruge dette script, blot dobbeltklikke på eller udføre det fra en kommandolinje.
»Kørsel dette script flere gange resulterer i flere poster i
»IIS MimeMap, så du ikke skal køre det mere end én gang.
»Modificeret fra http://msdn.microsoft.com/en-us/library/ms752346.aspx
 
Ingen MimeMapObj, MimeMapArray, MimeTypesToAddArray, WshShell, oExec
Const ADS_PROPERTY_UPDATE = 2 
 
'Sæt de MIME-typer, der skal tilføjes
MimeTypesToAddArray = Array(".docm", "application / vnd.ms-word.document.macroEnabled.12", _
".docx", "Ansøgning / vnd.openxmlformats-officedocument.wordprocessingml.document", _
".dotm", "application / vnd.ms-word.template.macroEnabled.12", _
".dotx", "Ansøgning / vnd.openxmlformats-officedocument.wordprocessingml.template", _
".potm", "Application / vnd.ms-powerpoint.template.macroEnabled.12", _
".potx", "Ansøgning / vnd.openxmlformats-officedocument.presentationml.template", _
".ppam", "Ansøgning / vnd.ms-powerpoint.addin.macroEnabled.12", _
".ppsm", "Application / vnd.ms-powerpoint.slideshow.macroEnabled.12", _
".ppsx", "Ansøgning / 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", "Ansøgning / 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", "Ansøgning / vnd.openxmlformats-officedocument.spreadsheetml.template") 
 
»Få mimemap objekt
Sæt MimeMapObj = GetObject("IIS://Localhost / MimeMap")
 
»Ring AddMimeType for hvert par af udvidelse / MIME-typen
For skranke = 0 til Bound(MimeTypesToAddArray) Trin 2
    AddMimeType MimeTypesToAddArray(skranke), MimeTypesToAddArray(skranke+1)
Næste
 
'Opret en Shell objekt
Sæt WshShell = CreateObject("WScript.Shell")
 
"Stop og Start IIS service
Sæt oExec = WshShell.Exec("Net stop w3svc")
Af Mens oExec.Status = 0
    WScript.Sleep 100
Loop
 
Sæt oExec = WshShell.Exec("Net start w3svc")
Af Mens oExec.Status = 0
    WScript.Sleep 100
Loop
 
Sæt oExec = Intet
 
»Rapporter status til brugeren
WScript.Echo "Microsoft Office 2007 Dokument MIME-typer er blevet registreret."
 
'Under AddMimeType
Nedenfor AddMimeType (Ext, Mtype)
 
    »Få kortlægninger fra MimeMap ejendom.
    MimeMapArray = MimeMapObj.GETEX("MimeMap") 
 
    »Tilføj en ny kortlægning.
    i = Bound(MimeMapArray) + 1
    Kom fedt Bevar MimeMapArray(i)
    Sæt MimeMapArray(i) = CreateObject("MimeMap")
    MimeMapArray(i).Udvidelse = Ext
    MimeMapArray(i).Mimetype = Mtype
    MimeMapObj.PutEx ADS_PROPERTY_UPDATE, "MimeMap", MimeMapArray
    MimeMapObj.Setinfo
 
End Nedenfor

Apache MIME typen tilføjelse (for serveradministratoren)

Apache gemmer sine MIME-typer i en fil normalt placeret på $installpath / conf / filerne 'mime.types'. Se mod_mime dokumentation for mere om, hvordan det fungerer. Arch Linux installerer sine MIME-typer på /etc / httpd / conf / filerne 'mime.types' og Parallels Plesk installerer det i /usr / local / PSA / admin / conf / filerne 'mime.types'. Din fordeling kan have det i et andet sted, så find din filerne 'mime.types' fil ved at køre lokalisere filerne 'mime.types'.

Tilføj følgende linjer til din filerne 'mime.types' fil:

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 MIME typen tilføjelse (For domænet ejeren med mindst FTP adgang – hjælp .htaccess fil)

Tilføj følgende tekst til dit domænes .htaccess fil, mest almindeligt i en httpdocs / Vejviser

AddType ansøgning / vnd.ms-word.document.macroEnabled.12 docm
AddType application / vnd.openxmlformats-officedocument.wordprocessingml.document docx
AddType application / vnd.ms-word.template.macroEnabled.12 dotm
AddType ansøgning / vnd.openxmlformats-officedocument.wordprocessingml.template dotx
AddType ansøgning / vnd.ms-powerpoint.template.macroEnabled.12 POTM
AddType ansøgning / vnd.openxmlformats-officedocument.presentationml.template potx
AddType ansøgning / vnd.ms-powerpoint.addin.macroEnabled.12 MISP
AddType ansøgning / vnd.ms-powerpoint.slideshow.macroEnabled.12 PPSM
AddType application / vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
AddType ansøgning / vnd.ms-powerpoint.presentation.macroEnabled.12 PPTM
AddType application / vnd.openxmlformats-officedocument.presentationml.presentation PPTX
AddType ansøgning / vnd.ms-powerpoint.slide.macroEnabled.12 SLDM
AddType application / vnd.openxmlformats-officedocument.presentationml.slide sldx
AddType ansøgning / vnd.ms-excel.addin.macroEnabled.12 xlam
AddType ansøgning / vnd.ms-excel.sheet.binary.macroEnabled.12 xlsb
AddType ansøgning / vnd.ms-excel.sheet.macroEnabled.12 xlsm
AddType application / vnd.openxmlformats-officedocument.spreadsheetml.sheet XLSX
AddType ansøgning / vnd.ms-excel.template.macroEnabled.12 xltm
AddType ansøgning / vnd.openxmlformats-officedocument.spreadsheetml.template xltx
Del
Du kan følge alle svar til dette indlæg via RSS 2.0 foder. Du kan efterlade et svar, eller styrekugle fra dit eget site.

9 Responses

  1. 1
    Steve 

    Jeg tror, ​​der er en slåfejl i vb script til IIS; den .xlt udvidelse bør være .xltm. Også, more to forlængelser bør tilføjes:
    “.sldx”, “application / vnd.openxmlformats-officedocument.presentationml.slide”, _
    “.SLDM”, “application / vnd.ms-powerpoint.slide.macroEnabled.12”, _

  2. 2
    Tricky 

    Meget interessant, Steve.

    Den .xlt er ikke en stavefejl, tilsyneladende .xltm formodes at være den makro-aktiverede version af .xlt. Jeg vil gøre nogle forskning og justere passende.

    Tak!

  3. 3
    Tricky 

    Af, du er faktisk korrekt, Steve. .xltm / x er nye, men .xlt er “gammel” Office Excel regneark skabelon.

  4. Der ! Det virkede for mig. Selv uden at ændre direkte metabase edit option.

    Skål!
    Maciej

  5. 5
    Mário Araújo 

    Tak! 🙂

  6. 6
    R Sleegers 

    Very nice – frelst mig besværet med at skrive dem i. “Bemærk, at du skal genstarte World Wide Web Publishing service eller vente for arbejdstageren processen at genbruge for at ændringerne kan træde i kraft.” ( http://support.microsoft.com/kb/326965 )

  7. 7
    Tricky 

    Jeg er ikke sikker på en recycle er nødvendig, hvis du har “sikre[d] at din server også er indstillet til at tillade direkte metabasen redigering”, pr artiklen.

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

  2. […] Den oprindelige artikel, hvor scriptet blev fundet her. […]

Efterlad et svar » Log ind