我使用了IIS( http://www.webconfs.com/how-to-redirect-a-webpage.php )中解释的技术,但是当应用到“/index.htm”时,似乎会导致无限循环并redirect到“/”。 有没有另外一种方法在IIS中这样做,以便它不会无限循环?
这个页面是静态HTML,所以我不能实现一个ASP或ASP.net的解决scheme。 有任何想法吗?
如果您使用IIS7,您的应用程序(即使它只是一个静态的HTML网站)可以有一个web.config。 看看下面的文章,看看这是否有助于设置您的重写规则(假设您可以使用您的网站IIS重写模块): https : //stackoverflow.com/questions/4206053/windows-server-web-configuration条索引文件名
因为它是静态的HTML你需要使用URL重写器; 一个ISAPIfilter,在HTTP请求被处理之前截获,所以URL可以被翻译。 主要的是ISAPI重写,它的成本大约是100美元。 这个function在Apache中是原生的。
您所发布的URL中描述的方法将不适用于您的情况。
你可以创build一个/index.html/目录,并把正确的redirect的default.asp文件,这是肮脏的解决scheme。 要启用isapifilter,您必须有权访问iis控制台。
这是因为传统/外部链接还是因为用于pipe理内容的任何工具所产生的内部链接? 如果前者,你可以让你真正的索引页被称为别的,并在IIS默认页面选项中名称更高,然后index.htm可以设置为redirect到/没有循环。
如果是绕过一个有问题的内部链接的页面生成工具,这将无法正常工作,因为链接也会更新到该替代文件名。 但是,如果主页面没有经常编辑,并且可以接受一些手动工作,将其作为index.htm并手动复制到IIS默认设置的任何名称都可以使其工作。