【问题标题】:Need IIS to open default document before URL rewrite需要 IIS 在 URL 重写之前打开默认文档
【发布时间】:2014-11-04 16:29:12
【问题描述】:

我正在使用经典的 asp 页面在现有的 web 服务器上创建一个 Symfony 应用程序。如果找到 domain/com/*.asp,它会加载该页面。如果输入了一个 URL 但没有找到,它会通过 /app.php 被 PHP 路由系统处理。我在 IIS 中设置了一个 URL 重写来处理这个问题,一切都很好。但是,我需要对 default.asp 和 index.asp 进行例外处理。我希望 IIS 在确定 URL 是 404 并将其重写为 /app.php 之前检查默认文档并加载这些文档。我可以用 PHP 编写代码来检查文件并加载它,但感觉这应该由 IIS 处理。是否可以?

如果我的解释不清楚,这里是一个例子:

用户尝试加载https://www.website.com/thisIsAFoldername 如果https://www.website.com/thisIsAFoldername/default.asp 存在,它应该加载该页面。 否则,URL 重写应该加载 https://www.website.com/app.php/thisIsAFoldername

【问题讨论】:

    标签: php symfony iis url-rewriting default-document


    【解决方案1】:

    我知道您可以双击您创建的重写规则,并添加一个带有“不是此路径”或类似内容的条件(我不记得名称),然后添加与您的路径匹配的正则表达式。 我将它用于资产也许它适用于您的情况

    【讨论】:

    • 感谢您的回复。我不确定那将如何工作。有数百个文件夹有一个 default.asp,当用户输入它时,default.asp 不在 URL 中。
    • 确实,如果它不在 URL 中,它根本就没有用,没有得到。祝你好运,很遗憾不能帮助你。
    【解决方案2】:

    我最终只是忽略了 IIS 中的默认文档设置并编写了一些简单的 PHP 来处理它。在我的应用程序异常处理程序中,我检查文件 default.asp 是否存在于请求的路径中。如果是,则重定向到它,否则,显示 404。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-02
      相关资源
      最近更新 更多