iis 始终显示相同的HTML页面

4bbkushb  于 2023-01-13  发布在  其他
关注(0)|答案(2)|浏览(152)

无论输入的是同一个域的哪个URL,如何始终显示相同的静态HTML页面?我使用IIS7

3zwtqj6y

3zwtqj6y1#

URL重写应该可以帮你解决这个问题。首先,你需要安装URL重写模块,假设它还没有安装:http://www.iis.net/download/urlrewrite
接下来,在web.config的system.webServer部分添加以下内容:``

<rewrite>
    <rules>
        <rule name="Main Rule" stopProcessing="true">
            <match url=".*" />
            <conditions logicalGrouping="MatchAll">
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            </conditions>
            <action type="Rewrite" url="YOUR_PAGE_HERE.html" />
        </rule>
    </rules>
</rewrite>

显然,用你想要显示的页面替换YOUR_PAGE_HERE. html。这个规则集将显示你的静态页面,除非是一个目录或另一个文件。如果你想让所有的URL都显示这个页面,只需删除整个元素。只是如果你链接到图像或样式表,它们将提供你的静态页面。
有关URL重写的更多信息,我推荐以下资源:

  1. http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/
  2. http://learn.iis.net/page.aspx/466/enabling-pretty-permalinks-in-wordpress/
ilmyapht

ilmyapht2#

你可以试试这个方法:

<rewrite>
  <rules>
    <rule name="Hide .html 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}.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>

我推荐以下资源:https://www.youtube.com/watch?v=0hlTdi6qijQ

相关问题