Как вернуть расширение .cfm при запросе URL - PullRequest
0 голосов
/ 03 мая 2019

Сначала я попытался запросить свои страницы без расширения .cfm, используя модуль перезаписи URL-адреса IIS, и все прошло успешно. Теперь я хочу вернуть свое расширение .cfm на запрошенный URL.

Я изменил свой web.config файл, как и раньше, и удалил модуль перезаписи URL. Доступ к нескольким страницам на моем веб-сайте с расширением .cfm вызывает эту ошибку, даже если файл существует:

Ошибка HTTP 404.0 - не найден, код ошибки - 0x80070002


Я использовал это для переписывания

<rewrite>
  <rules>
    <rule name="Hide .cfml ext">
      <match url="^(.*)" ignoreCase="true" />
      <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        <add input="{REQUEST_FILENAME}.cfml" matchType="IsFile" />
      </conditions>
      <action type="Rewrite" url="{R:0}.cfml" />
    </rule>
    <rule name="Redirecting .cfml ext" stopProcessing="true">
      <match url="^(.*).cfml" />
      <conditions logicalGrouping="MatchAny">
        <add input="{URL}" pattern="(.*).cfml"  />
      </conditions>
      <action type="Redirect" url="{R:1}" />
    </rule>
  </rules>
</rewrite>

web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <directoryBrowse enabled="true" />
        <defaultDocument>
            <files>
                <clear />
            <add value="index.cfm" />
                <add value="home.cfm" />
                <add value="Default.htm" />
                <add value="Default.asp" />
                <add value="index.htm" />
                <add value="index.html" />
                <add value="iisstart.htm" />
                <add value="default.aspx" />
            </files>
        </defaultDocument>
    </system.webServer>
</configuration>
...