【问题标题】:IIS Custom 404 page page appends entire URL as query paramIIS 自定义 404 页面页面将整个 URL 附加为查询参数
【发布时间】:2021-09-11 04:24:14
【问题描述】:

我正在使用 IIS 10 为静态文件网站提供服务,它包含一个自定义 404 页面。不幸的是,当 IIS 显示 404 页面时,它会重写 url 以包含原始 url 作为查询参数,这非常丑陋。

这是网站结构。

/
|-- web.config
|-- index.html
|-- about/
    |-- index.html
|-- 404/
    |-- index.html

因此,当有人搜索不存在的页面时,我希望为他们提供 404/index.html 页面。这是我在 web.config 文件中设置的规则:

<configuration>
  <system.webServer>
    <httpErrors errorMode="Custom">
      <remove statusCode="404" />
      <error statusCode="404" responseMode="ExecuteURL" path="/404" />
    </httpErrors>
  </system.webServer>
</configuration>

这是可行的,因为 IIS 向他们显示 404 页面,但它会将整个原始 url 附加到查询参数中!我不想要那个!

这个domain.com/fake-page 变成了domain.com/404?404;domain.com:80/fake-page,这是丑陋的AF!!我只希望它转到/404,仅此而已。我该怎么做?

【问题讨论】:

    标签: iis web-config


    【解决方案1】:

    URL 重写允许 Web 管理员使用以 .NET 编写的重写提供程序、正则表达式模式匹配和通配符映射轻松构建强大的规则,以检查 URL 和其他 HTTP 标头和 IIS 服务器变量中的信息。可以编写规则以生成更易于用户记住、搜索引擎易于索引并允许 URL 遵循一致且规范的主机名格式的 URL。

    这是参考:Using the URL Rewrite Module

    【讨论】:

      猜你喜欢
      • 2017-09-23
      • 2013-07-31
      • 2011-10-17
      • 2018-11-16
      • 2012-01-06
      • 1970-01-01
      • 1970-01-01
      • 2012-10-01
      相关资源
      最近更新 更多