我想删除我的html扩展名,但是在目录中使用时失败。 我的站点中的link1工作正常,但其他目录链接工作不正常。 link2
我想在此链接结尾处删除html扩展名
但在我重写后
在stackover流other question中,我找到了问题的解决方案,但无法正常工作。
我在web.config文件中的解决方案是
<rewrite>
<rules>
<rule name="Hide .html ext">
<match ignoreCase="true" url="^(.*)"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
<add input="{REQUEST_FILENAME}.html" matchType="IsFile"/>
</conditions>
<action type="Rewrite" url="{R:0}.html"/>
</rule>
<rule name="Redirecting .html ext" stopProcessing="true">
<match url="^(.*).html"/>
<conditions logicalGrouping="MatchAny">
<add input="{URL}" pattern="(.*).html"/>
</conditions>
<action type="Redirect" url="{R:1}"/>
</rule>
</rules>
</rewrite>
答案 0 :(得分:1)
我认为您想要的内容还需要另一个重写规则。您从credentialing.html
重定向到credentialing
,但是该文件不存在,因此您可能会收到404。
您需要的一条规则是再次添加.html
扩展名作为重写,以便IIS可以再次找到该文件。
<rule name="No html ext" stopProcessing="true">
<match url="^([a-z0-9-_/]+)$" ignoreCase="true" />
<action type="Rewrite" url="{R:1}.html" />
</rule>