我遇到需要从root重写到default.aspx的情况。因此,如果有人访问www.domain.com或www.domain.com/,我需要重定向到www.domain.com/default.aspx - 任何想法是什么正则表达式和regex服务器变量?
当我运行跟踪并访问www.domain.com/或www.domain.com时,它始终显示SCRIPT_NAME和其他类似的服务器变量,其值为/default.aspx - 但这不适用于重写模块。例如。当有人访问www.domain.com/或www.domain.com时,SCRIPT_NAME仍然是/default.aspx - 所以它似乎没有注意到他们访问了非default.aspx页面。
答案 0 :(得分:1)
我通过使用Url Rewrite映射(重写模块的一部分)解决了这个问题,我能够从/重定向到/default.aspx。作为重写映射之前的规则,我确保所有请求都被重定向到结束斜杠。
答案 1 :(得分:0)
我遇到了类似的问题,我认为IIS隐藏了您的URL并且只提供了您已经知道的脚本名称。在早期版本的IIS中更糟糕,因为它忘记了复制查询字符串。我不得不通过不定义任何默认文档来解决这个问题,并使目录列表的错误页面被拒绝重定向到脚本。我想同样的事情会在这里发挥作用。