Я пытаюсь удалить расширение html с страниц с помощью web.config. Ниже приведен код, я использую в файле web.configУдаленное расширение HTML с веб-конфигурацией постоянно
<rewrite>
<rules>
<rule name="rewrite html">
<match url="(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" negate="true" pattern="(.*).html" />
</conditions>
<action type="Rewrite" url="{R:1}.html" />
</rule>
</rules>
</rewrite>
он работает нормально и удаления расширения HTML, однако, как представляется, 2 проблемы здесь:
Когда я поставил «слэш» он не работает и не дает мне ошибок. Например:
http://example.com/my-page/
теперь он не будет работать, но я ставлюhttp://example.com/my-page
то он будет работать хорошо, так что я хотел бы им обоим работатьДругая проблема заключается в том, что
.html
страницы по-прежнему открываются. Например, если я открываю страницу какhttp://example.com/my-page.html
, она также работает, но я хочу, чтобы она автоматически конвертировалась вhttp://example.com/my-page
, я знаю, что могу использовать 301 переадресацию для этого, но это не сработает, так как здесь есть много файлов, поэтому мне нужно используйте разные 301 правила для разных URL-адресов.
Прошу совета.
Благодаря