URL重写 - 删除扩展名为.html(URL Rewrite - Remove .html ext

2019-09-16 14:40发布

这样的想法是从每个页面中删除.html扩展名是这样的...

www.website.com/File.html > www.website.com/File
www.website.com/Folder/File.html > www.website.com/Folder/File

现在,我已经成功这个使用URL重写的事,但它意味着写的每一页,这是费时重写,效率不高,不切实际说,如果该网站是超过20页。

有没有办法通过在web.config中写一个或两个重写做到这一点?

Answer 1:

该解决方案到底为我工作:

<rule name="RedirectUserFriendlyURL1" stopProcessing="true">
    <match url="^(.*)\.(.*)$" />
    <conditions>
        <add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
    </conditions>
    <action type="Redirect" url="{R:1}" appendQueryString="false" />
</rule>
<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
    <match url="^(.*)$" />
    <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    </conditions>
    <action type="Rewrite" url="{R:1}.(.*)" />
</rule> 


Answer 2:

对于使用IIS 7.x的重写模块:
http://www.techrepublic.com/blog/webmaster/url-rewriting-with-iiss-url-rewrite-module/710

虽然我曾经尝试这样做,我从来没有得到实际的规则集来做到这一点,而不必每页名称的规则自动。

+1的人谁可以在此揭示!



文章来源: URL Rewrite - Remove .html extension