需要IIS在URL重写之前打开默认文档

问题描述:

我正在使用传统asp页面在现有Web服务器上创建Symfony应用程序。如果找到domain/com/*。asp,它将加载该页面。如果一个URL被输入并且没有被找到,它将通过/app.php传递给PHP路由系统。我在IIS中设置了URL重写来处理这个问题,一切都很好。不过,我需要为default.asp和index.asp制定例外规定。我想让IIS检查默认文档并加载它们,然后再决定URL是否为404并将其重写为/app.php。我可以在PHP中编写代码来检查文件并加载它,但感觉这应该由IIS处理。可能吗?需要IIS在URL重写之前打开默认文档

如果我的解释是不明确的,这里有一个例子:

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

我知道你可以双击你创建的重写规则,并添加一个条件“不是这条路径”或类似的东西(我不记得名字)然后添加与您的路径匹配的正则表达式。 我用它的资产也许它会在你的情况下工作

+0

谢谢你的回应。我不确定那将如何工作。有数百个具有default.asp的文件夹,并且当用户输入时,default.asp不在URL中。 – rooter 2014-11-04 17:39:34

+0

的确,如果它不在URL中,它根本就没有用处,但没有得到。祝你好运,不能帮你更可惜。 – oligan 2014-11-05 12:12:07

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