Шрифт .woff2, возвращающий ошибку 404 с правильным mimemap? - PullRequest
0 голосов
/ 09 сентября 2018

У меня на сервере есть шрифт .woff2, который постоянно возвращает ошибку 404. После исследования я обнаружил, что мне нужен тег mimeMap, который сообщает серверу, как его обслуживать. Я добавил это, оно работало хорошо, затем я закомментировал правила перезаписи и после этого перестал работать. НО, не комментируя правила переписывания, он снова не работает, ничего больше не изменилось. Вот мой web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<configSections>
    <sectionGroup name="system.webServer">
        <sectionGroup name="rewrite">
            <section name="rewriteMaps" overrideModeDefault="Allow" />
            <section name="rules" overrideModeDefault="Allow" />
        </sectionGroup>
    </sectionGroup>
</configSections>

<system.webServer>
    <security>
        <!--  This section should be uncommented after
        installation to secure the installation. -->
        <requestFiltering>
            <hiddenSegments>
                <add segment="assets"/>
                <add segment="cms"/>
                <add segment="includes"/>
            </hiddenSegments>
            <fileExtensions>
                <add fileExtension=".woff" allowed="true" />
                <add fileExtension=".ttf" allowed="true" />
                <add fileExtension=".woff2" allowed="true" />
             </fileExtensions>
        </requestFiltering>
    </security>
    <directoryBrowse enabled="true" />
    <caching>
        <profiles>
            <add extension=".php" policy="DisableCache" kernelCachePolicy="DisableCache" />
            <add extension=".html" policy="CacheForTimePeriod" kernelCachePolicy="CacheForTimePeriod" duration="14:00:00:00" />
        </profiles>
    </caching>
    <rewrite>
        <!--<rules>
            <rule name="block favicon" stopProcessing="true">
                <match url="favicon\.ico" />
                <action type="CustomResponse" statusCode="404" subStatusCode="1" 
                    statusReason="The requested file favicon.ico was not found" 
                    statusDescription="The requested file favicon.ico was not found" />
            </rule>
            <rule name="Imported Rule 1" stopProcessing="true">
                <match url="^(.*)$" ignoreCase="false" />
                <conditions>
                    <add input="{HTTP_HOST}" pattern="^example\.com$" />
                </conditions>

                <action type="Redirect" redirectType="Permanent" url="http://www.example.com/{R:1}" />
            </rule>
            <rule name="Imported Rule 2" stopProcessing="true">
                <match url="^(.*)$" ignoreCase="false" />
                <conditions>
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                    <add input="{URL}" pattern="^/favicon.ico$" ignoreCase="false" negate="true" />
                </conditions>
                <action type="Rewrite" url="index.php?q={R:1}" appendQueryString="true" />
            </rule>
        </rules>-->
    </rewrite>
    <defaultDocument>
        <files>
            <remove value="index.php" />
            <add value="index.php" />
        </files>
    </defaultDocument>

    <staticContent>
        <remove fileExtension=".woff2" />
        <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
    </staticContent>

    <!-- HTTP Errors section should only be enabled if the "Error Pages"
    feature has been delegated as "Read/Write" at the Web Server level.
       <httpErrors>
           <remove statusCode="404" subStatusCode="-1" />
           <error statusCode="404" prefixLanguageFilePath="" path="/index.php" responseMode="ExecuteURL" />
       </httpErrors>
    -->

</system.webServer>

Сервер IIS7 +, шрифт на сервере существует, путь правильный. Что не так? Просьба помочь.

...