我正在为一个在经典asp中创建的旧网站托管一个网站。该网站使用一种基本方法来跟踪访问者点击特定链接,方法是通过名为tracking.asp的文件路由所有链接,该文件记录链接,然后将用户重定向到该网址。
所以所有的链接看起来像这样: tracking.asp?URL = addresstoredirect.asp
该网站多年未被修改,并且没有任何问题。最近链接停止工作并开始提供404错误。
如果我只是请求tracking.asp,它可以正常工作。如果我尝试tracking.asp?url = justaddress没有404.只有将.asp添加到querystring参数才会抛出404.所以问题是由于某种原因IIS不再能够处理有2的情况网址中的文件扩展名。它以某种方式解析查询字符串,而不是认为它正在寻找一个具有?的文件?在名称中,当然它永远不会找到。
修改链接以删除重定向的url querystring参数中的.asp不是一个选项。有数千个页面需要修改这些链接。并非所有重定向文件扩展名都是.asp。因此,修改重定向代码以添加.asp也不是一个可行的选择。
网站所有者正在重新开发网站,因此在此期间只需要某种解决方法。我无法找到有关为什么现在可能发生这种情况的任何信息或任何解决问题的方法。由于这似乎是代码外部的问题,因为代码在很长一段时间内没有改变,我认为某种IIS配置设置可能有所帮助。该站点托管在Server 2008 R2 / IIS7.5上。我找不到任何东西,我会感激一些帮助。感谢。