Сначала я попытался запросить свои страницы без расширения .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>