Microsoft-IIS / 7.5 web.config和.htaccess / Compress .svg

时间:2014-02-04 11:43:10

标签: .htaccess iis svg iis-7.5

我需要在Microsoft-IIS / 7.5服务器上设置一个简单的网站。我之前从未这样做过,所以我搜索了一些web.config片段。我对服务器的了解不多,但据我所知,IIS可以与web.config配合使用,而Apache可以使用.htaccess。如果我错了,请纠正我。

这是我提出的web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
            <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
            <dynamicTypes>
                <add mimeType="text/*" enabled="true"/>
                <add mimeType="message/*" enabled="true"/>
                <add mimeType="application/javascript" enabled="true"/>
                <add mimeType="*/*" enabled="false"/>
            </dynamicTypes>
            <staticTypes>
                <add mimeType="text/*" enabled="true"/>
                <add mimeType="message/*" enabled="true"/>
                <add mimeType="application/javascript" enabled="true"/>
                <add mimeType="*/*" enabled="false"/>
            </staticTypes>
        </httpCompression>
        <urlCompression doStaticCompression="true" doDynamicCompression="true"/>
        <caching enabled="true" enableKernelCache="true">
            <profiles>
                <add extension=".asp" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
            </profiles>
        </caching>
        <rewrite>
            <rules>
                <rule name="SEO - Remove .html" stopProcessing="false">
                    <match url="^(.*).html$" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Redirect" url="{R:1}/" />
                </rule>
                <rule name="SEO">
                    <match url="(.*)" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="{R:1}.html" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

我想要做的就是启用gzip压缩,缓存文件并删除“.html”结尾。如果同一个文件夹中没有.htaccess,则Gzipping和缓存不会仍然无效:

# CACHING
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"

# GZIP
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

使用这个.htaccess它可以工作,但这让我感到困惑,因为我认为IIS服务器需要一个.htaccess的web.config INSTEAD?只是.htaccess文件也不起作用。有人可以向我解释一下这种行为吗?

2.。)虽然上面的工作或多或少,但我无法弄清楚如何压缩.svg文件。我试图上传.svgz文件而不是.svg文件,但这也没有用(没有显示)。有没有办法压缩.svg文件或支持.svgz文件与IIS服务器?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我正在调查.htaccess的内容如何与IIS相关,我发现了Translate .htaccess Content to IIS web.config

这篇文章

这可能对您有用。